Java的FluentWait在Python中

前端之家收集整理的这篇文章主要介绍了Java的FluentWait在Python中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
java selenium-webdriver包中,有一个 FluentWait类:

Each FluentWait instance defines the maximum amount of time to wait
for a condition,as well as the frequency with which to check the
condition. Furthermore,the user may configure the wait to ignore
specific types of exceptions whilst waiting,such as
NoSuchElementExceptions when searching for an element on the page.

换句话说,这是超过implicit and explicit wait的东西,给你更多的控制等待一个元素.它可以非常方便,绝对有用例.

有什么类似的python selenium package,还是应该自己实现?

(我已经看过Waits的文档 – 没有什么).

解决方法

我相信你可以用Python做这件事,但是它并不像FluentWait类一样被打包.您提供的文档中没有包含其中的一些内容.

WebDriverWait类具有超时,poll_frequency和ignored_exceptions的可选参数.所以你可以在那里提供.然后将其与预期条件相结合,等待出现的元素,可点击等…以下是一个示例:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import *

driver = webdriver.Firefox()
# Load some webpage
wait = WebDriverWait(driver,10,poll_frequency=1,ignored_exceptions=[ElementNotVisibleException,ElementNotSelectableException])
element = wait.until(EC.element_to_be_clickable((By.XPATH,"//div")))

显然,您可以将wait / element组合到一个语句中,但我认为这样可以看到这个实现的位置.

猜你在找的Java相关文章