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)