gpt4 book ai didi

python - selenium.wait_for_condition 等效于 WebDriver 的 Python 绑定(bind)

转载 作者:太空狗 更新时间:2023-10-29 20:46:31 24 4
gpt4 key购买 nike

我正在将一些测试从 Selenium 转移到 WebDriver。我的问题是我找不到 selenium.wait_for_condition 的等效项。 Python 绑定(bind)目前是否有此功能,还是仍在计划中?

最佳答案

目前无法将 wait_for_condition 与 WebDriver 一起使用。 python selenium 代码确实提供了 DrivenSelenium 类来访问旧的 selenium 方法,但它不能执行 wait_for_condition。 The selenium wiki has some info on that .

最好的办法是使用 WebDriverWait 类。这是一个辅助类,它定期执行等待它返回 True 的函数。我的一般用法是

driver = webdriver.Firefox()
driver.get('http://example.com')
add = driver.find_element_by_id("ajax_button")
add.click()
source = driver.page_source

def compare_source(driver):
try:
return source != driver.page_source
except WebDriverException:
pass

WebDriverWait(driver, 5).until(compare_source)
# and now do some assertions

这个解决方案绝不是理想的。对于页面请求/响应周期延迟等待某些 ajax 事件完成的情况,try/except 是必需的。如果在请求/响应周期中调用 compare_source get,它将抛出 WebDriverException。

test coverage for WebDriverWait看看也很有帮助。

关于python - selenium.wait_for_condition 等效于 WebDriver 的 Python 绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3694508/

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