gpt4 book ai didi

Python 中的 Java Fluent Wait

转载 作者:行者123 更新时间:2023-12-02 03:24:20 25 4
gpt4 key购买 nike

在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 合并到一个语句中,但我认为这样您就可以看到它的实现位置。

关于Python 中的 Java Fluent Wait,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56913959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com