全栈测试开发系列----selenium浏览器操作
浏览器操作方式
WebElement接口的常用方法
浏览器常见7种操作方式
1、浏览器前进操作
forward():在初始操作时不存在前进操作,一般与back配合使用
back:后退操作,当前对象必须存在上下文
2、浏览器的最大化、最小化、全屏
driver.maximize_window():实现窗口最大化操作
driver.minimize_window():实现窗口最小化操作
driver.fullscreen_window():实现窗口全屏操作
3、浏览器close和quit方法的区别
close表示关闭当前对象所处页面(操作页面)的窗口,quit表示关闭所有饿页面窗口并关闭驱动器。如果只存在一个窗口,器效果是相同的。
4、浏览器相关属性获取
通过WebElement接口可以获取常用的值,其中常见属性值如下表所示。
| 方法 | 含义 |
| size | 获取元素的尺寸 |
| text | 获取元素的文本 |
| location | 获取元素的坐标,先找到要获取的元素,再调用该方法 |
| page_source | 返回页面源码 |
| title | 返回页面标题 |
| current_url | 获取当前URL |
| tag_name | 返回元素的tag_name,标签名称 |
# 获取当前对象的句柄 driver.current_window_handle # 获取当前对象的所有句柄 driver.current_window_handles
5、浏览器句柄操作
驱动器对象.switch_to_window(句柄名):这种方法属于保留方法,不建议使用,后期会删除;句柄名可以通过先获取所有句柄然后定义其索引的方式获取
如果存在多个句柄,建议对每个句柄进行命名操作,便于句柄之间的切换
6、浏览器中的alert框处理
alert框是无法直接进行元素定位的,需要使用switch_to.alert先切换到alert对象中,然后调用对应的方法执行。accept()方法表示确定;dismiss()方法表示取消,也可以获取其文本内容,调用text属性即可。
7、浏览器滚动条操作
浏览器的滚动条无法直接定位,需要通过JS脚本完成操作。
7.1、指定上下滚动的高度。此种浏览器滚动条可能或因为浏览器的类型不同、版本不同、环境不同而执行失败。
js = "var browser=document.documentElement.scrollTop=100" driver.execute_script(js)
7.2、实现左右滚动,还可以实现上下滚动。调用脚本的语句是window.scrollTo(x,y),其中x表示横向滚动,y表示纵向滚动。该语句表示相对原点进行滚动。
driver.execute_script("window.scrollTo(0,100)")
window.scrollBy(x,y)表示相对当前坐标点进行再次滚动后的x,y的坐标值
7.3、不考虑其横向滚动和纵向滚动的坐标值,直接滚动到指定元素位置使用的脚本语法如下
arguments[0].scrollIntoView()
其中arguments[0]表示传入的定位元素的对象,在执行execute_script方法时传入的第二个参数,等价于直接使用JS脚本的元素定位。
document.getElementById('id的值').scrollIntoView()
scrollIntoView方法中的默认值是TRUE,表示滚动到元素作为第一行进行显示,同样可以设置为FALSE值,如果是FALSE值则表示指定元素,作为最后一行进行显示。
WebElement接口的常用方法
| 方法 | 描述 |
| clear | 清除元素的内容 |
| send_keys | 在元素上模拟按键输入 |
| click | 单击元素 |
| submit | 提交表单 |
| size | 返回元素的尺寸 |
| text | 获取元素的文本 |
| get_attribute(name) | 获取属性值 |
| is_displayed() | 设置该元素是否可见 |

浙公网安备 33010602011771号