1、测试的时候一般调用的浏览器窗口都不是全屏的,为了不影响体验我们需要将窗口最大化 解决的方案:
按照自己的意愿设置窗口大小(注意:其中数字大小为像素点)
2、弹窗的处理
一、alert弹窗 这种弹窗可用selenium自带的方法进行处理
补充说明:
(1)accept 表示点击【确认】按钮
(2)dismiss 表示点击【取消】按钮
(3)send_keys() 表示【输入内容】
(4)text 表示获取弹出框的【文本】
(5)先导入alert类【from selenium.webdriver.common.alert】并有上述属性
图示用例
实际操作示例
注意:这里这个switch_to.alert()其实是旧写法,照理应该是用switch_to_alert(),但是新写法却会报错,可能是版本问题,可以尝试看哪一种不会报错。
自己犯下的低级错误: a1 = driver.switch_to.alert()
后面不可加括号,因为aler是属性,不是方法;方法才用()调用。属性直接就对象.属性
二、div窗口处理
直接定位元素位置操作即可
图示用例
实际操作示例
三、定位下拉弹框
(1) Select类
图示用例
实际代码示例[1]
实际代码示例[2]
实际代码示例[3]
图示用例
实际代码示例[4]
补充说明:
(1) 实际代码示例[1]中index(2)表示选择下拉框中的第三个,因为是从0开始算起的;
(2) 实际代码示例[2]中value值要加引号,且值要和图示用例中的代码值相对应;
(3) 实际代码示例[3]中选项文字同样要和图示案例中的文字相对应;
(4) Select只对标签下的下拉框有效;
(5) 定位非标签下的下拉框,先定位下拉框,再定位下拉框中的内容即可。
四、多窗口切换处理
操作流程:
[1]打开百度网页,获取当前搜索窗口句柄;
[2]打开注册新窗口;
[3]获取所有窗口句柄;
[4]循环判断进入注册窗口;
[5]注册窗口用户名输入框输入“name ”确认其切换窗口成功;
[6]循环判断返回搜索窗口(也可用访问列表值方法返回)
[7]关闭弹窗,在搜索窗口输入框输入“自动化”,确认其切换成功。