天天看点

day04_键盘操作丶元素等待丶下拉选择框、弹出框、滚动条操作

键盘操作主要就是模拟键盘上一些按键或者组合键的输入 如:Ctrl+C 、Ctrl+V。Selenium中把键盘的按键都封装在Keys类中

day04_键盘操作丶元素等待丶下拉选择框、弹出框、滚动条操作

在实际工作中由于网络速度慢丶电脑配置低丶服务器处理请求慢 等待各种原因,造成元素无法及时加载出来。此时我们就要设置元素等待了。元素等待:在定位页面元素时如果未找到,会在指定时间内一直等待的过程

概念:定位元素时,如果能定位到元素则直接返回该元素,不触发等待; 如果不能定位到该元素,则间隔一段时间后再去定位元素; 如果在达到最大时长时还没有找到指定元素,则抛出元素不存在的异常 NoSuchElementException 。 

概念:定位指定元素时,如果能定位到元素则直接返回该元素,不触发等待; 如果不能定位到该元素,则间隔一段时间后再去定位元素; 如果在达到最大时长时还没有找到指定元素,则抛出超时异常 TimeoutException 。 

day04_键盘操作丶元素等待丶下拉选择框、弹出框、滚动条操作

作用域:隐式为全局元素,显式等待为单个元素有效

使用方法:隐式等待直接通过驱动对象调用,而显式等待方法封装在WebDriverWait类中

达到最大超时时长后抛出的异常不同:隐式为NoSuchElementException,显式等待为TimeoutException 

强制等待就是让代码休眠,不做任何的操作。time.sleep(time) 

当要获取元素的文本内容时,而元素的文本内容是需要通过后台接口请求并渲染的,此时,如果使用隐式等待或显示等待是没有办法获取到文本内容,所以需要使用强制等待

当要操作的元素已经存在,但是有其他的元素需要等待且与该操作的元素有业务关联,如果使用隐式等待或显示等待对该元素进行操作的话,是没有办法进行的,也需要使用强制等待。

导入Select类

实例化select对象 select=Select(element) # element对象表示的是select元素对象

操作方法: 

day04_键盘操作丶元素等待丶下拉选择框、弹出框、滚动条操作

alert             警告框

confirm        确认框

prompt         提示框

Selenium中对处理弹出框的操作,有专用的处理方法;并且处理的方法都一样 

步骤如下:

day04_键盘操作丶元素等待丶下拉选择框、弹出框、滚动条操作

在HTML页面中,由于前端技术框架的原因,页面元素为动态显示,元素根据滚动条的下拉而被加载

页面注册同意条款,需要滚动条到最底层,才能点击同意 

selenium中并没有直接提供操作滚动条的方法,但是它提供了可执行JavaScript脚本的方法,所以我们可以通过JavaScript脚本来达到操作滚动条的目的。 

day04_键盘操作丶元素等待丶下拉选择框、弹出框、滚动条操作

继续阅读