欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

selenium显示等待和隐式等待

程序员文章站 2022-03-24 08:46:22
...
selenium在等待元素时有三种方式:
1.隐式等待:
driver.implicitly_wait(30)

等待一个元素被发现,或一个命令完成,超出了设置时间则抛出异常,此为全局变量,是针对Driver 每次执行命令的 最长执行时间也可以理解为超时时间

2.显示等待:
from selenium.webdriver.support.ui import WebDriverWait

#WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None) 

wait = WebDriverWait(context.driver, 30)
is_disappeared = wait.until_not(lambda x:x.find_element(by=how, value=what).is_displayed())
element = wait.until(lambda x:x.find_elements_by_xpath(locatorString))


明确的要等到某个元素的出现或者是某个元素的可点击等条件,每隔poll_frequency=0.5(默认值)查找一下元素,等不到,就一直等,除非在规定的时间timeout之内都没找到,那么就跳出Exception。

3.线程等待:
import time
time.sleep(2)


Notes:若同时设置了隐式等待和显示等待,则以隐式等待为第一优先级,也就是说,若隐式等待时间大于显示等待,则执行显示等待时,显示等待时间设置无效,因为driver若找不到元素,会先等待隐式等待的时间。
相关标签: selenium python