目标
下拉选择框;弹出框;滚动条操作;frame表单切换;多窗口切换;窗口截图、验证码处理
定位下拉框
select选择框
下标从0开始
#通过下标形式访问
#通过value值形式访问
注意事项
实例化select时候,需要的参数是select标签元素
调用select标签时候,通过索引、value属性值、显示文本去控制,不用click事件
弹出框处理!!!
案例
driver.find_element_by_css_selector('#alerta').click()
#切换到alert并返回
at=driver.switch_to.alert
#同意
at.accept()
#取消
at.dismiss()
#获取文本方法不通过括弧
alert.txt
滚动条
selenium中没有提供操作滚动条的方法,但是提供了可执行脚本js,可以通过js脚本来达到操作滚动条的目的
frame切换、多窗口切换!!!
Q:当前页面无法定位注册页面A和B
扩展
why切换窗口
driver.current_window_handle#获取当前窗口句柄
driver.window_handles#获取所有窗口句柄 只要不是当前的主窗口句柄,就一定是新开的窗口
如何切换?
截屏
失败截图,让错误看的更直观
driver.get_screenshot_as_file(imgpath)
imgpath:保存路径
验证码
selenium中没有对验证码处理的方法,以下几种
1.在测试环境,公司自己的项目 2.测试环境或线上环境,公司自己项目
3.识别率低,不推荐 4.推荐
cookie相关介绍
案例
使用cookie绕过百度登录
步骤:
cookies=driver.get_cookies()#获取所有信息,返回的是列表
设置cookie信息:
driver.add_cookie({'name':'BDUSS','value':'XXXXXX'})