selenium2中的等待

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium2中的等待相关的知识,希望对你有一定的参考价值。

selenium2中的等待

   分两种  Explicit Waits  Implicit Waits

 

Explicit Waits(显示等待)

  等待一个指定的条件发生后,再去执行后续代码。比较差的应用就是Thread.sleep()(指定一个固定的时间去等待)

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions

 WebDriverWait 和 expected_conditions两者结合能实现相当多的场景

element = WebDriverWait(ff, 10).until(expected_conditions.presence_of_element_located((By.ID, "myDynamicElement")))
#等待10S,直到该元素出现
#WebDriverWait 默认没0.5s执行一次ExpectedCondition,直到其返回成功(true或者不为null的对象)

其他等待条件

ExpectedConditions.element_to_be_clickable #元素是否可点击

 

Implicit Waits(隐式等待)

  设置webdriver在查找一些不是立刻展示的元素时,保留一定的时间。默认设置为0。一旦设定,webdriver对象的整个生命周期都生效

ff.implicitly_wait(10) # seconds
ff.get("http://somedomain/url_that_delays_loading")
myDynamicElement = ff.find_element_by_id("myDynamicElement")

 

  

 

以上是关于selenium2中的等待的主要内容,如果未能解决你的问题,请参考以下文章

基于Selenium2+Java的UI自动化- 显式等待和隐式等待

Selenium2+python自动化38-显式等待(WebDriverWait)

Selenium2+python自动化38-显式等待(WebDriverWait)

Selenium2+python自动化38-显式等待(WebDriverWait)

Selenium2+python自动化63-二次封装(click/send_kesy)

虫师Selenium2+Python_4webdriver API