Python3学习笔记_web自动化基础六_三大切换_20200716

本文详细介绍了Selenium Web自动化测试中常见的三大切换技巧,包括窗口切换、iframe切换及alert切换,同时提供了鼠标与键盘操作的具体方法。文章还探讨了如何通过定位元素判断页面是否存在iframe,以及如何在面试中应对提交数据的多种方式。
摘要由CSDN通过智能技术生成

Python3学习笔记_web自动化基础六_三大切换_20200716

三大切换:

窗口切换:
    driver.switch_to_window(driver.window_handles[-1])
iframe切换
    如何判断该页面是否有iframe?
        看定位到的元素的祖先元素是否包含iframe【确认有没有iframe,看下面的bar,有没有两个html/iframe】
    如果有,要想定位里面的元素,必须进行iframe切换
iframe 切换
driver.switch_to.frame(iframe_elem)
iframe 进入之后,如何退回来?
driver.switch_to.default_content()

切到父级的iframe
driver.switch_to.parent_content()
iframe 显性等待加切换:
wait=WebDriverWait(driver,20,poll_frequency=0.5)
wait.until(expected_conditions.frame_to_be_available_and_switch_to_it(iframe_elem))  ##这里要传参数,是因为可能有多个iframe
alert 切换:
driver.switch_to.alert
alert 切换加等待:
WebDriverWait(driver,20,poll_frequency=0.5).until(
expected_conditions.alert_is_present()              #这里不需要传参数,是因为在一个页面中,alert只会有一个
)
鼠标操作
点击
双击
悬停
拖拽
右击
点击的两种方式
1、e.click()
2、ActionChains(driver).click(e).perform()
按住不动
ActionChains(driver).click_and_hold(e).perform()
右击
ActionChains(driver).context_click(e).perform()
双击
ActionChains(driver).double_click(e).perform()

#拖拽,e1是起始元素,e2是终止元素

ActionChains(driver).drag_and_drop(e1,e2).perform()
ActionChains 的链式调用
键盘操作
e.send_keys(Keys.ENTER)
面试题:

提交数据的3种方式:

定位提交按钮,点击
发送回车按键
submit() 【前提是提交的数据input_ele必须要在form表单中,如何来判断有没有在呢?看该元素在开发者模式的bar中是否有出现form】
select 选择
方法1:点击option元素
方法2:使用Select()类选择
元素无法找到有哪些原因?
NoSuchElement:
1、检查元素定位方式是否正确:把元素定位方式拷贝到开发者模式下,去看是否能找到元素
2、没加等待,加强制等待去调试一下,看是否能找到
3、检查有没有在这个页面
    第一种:有没有在这个窗口
    第二种:是不是在一个iframe当中

mac请求本地文件,本地文件前面需要加上:file:
导入库的快捷方式:option + Enter

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值