gpt4 book ai didi

python - 当 Javascript 刷新时,Selenium WebDriver waitForElementPresent

转载 作者:太空宇宙 更新时间:2023-11-04 03:33:01 31 4
gpt4 key购买 nike

我有一个使用 WebDriver 的 Selenium 脚本(Python)

WebDriverWait(driver, long_wait).until(
EC.presence_of_element_located(find_element(driver, selector))
)

然而,脚本“等待”元素出现的页面正在使用 Javascript 刷新自身。该页面每秒刷新一次,刷新几次后将出现一个“成功”元素。刷新时会出现上述命令退出,但我希望它无限期(或长时间)等待,即使在客户端/浏览器刷新时也是如此。

WebDriver 可以吗?

编辑:这是方法的主体。忽略我的调试技巧 :)

def waitForElementPresent(self, driver, selector):
try:
WebDriverWait(driver, 10, ignored_exceptions=[
NoSuchElementException, StaleElementReferenceException
]).until(EC.presence_of_element_located(find_element(driver, selector)))
except NoSuchElementException:
print("No such element, waititng again")
self.waitForElementPresent(driver, selector)

print("Returning normally")
return

finally 在客户端第一次 javascript 刷新时到达。

最佳答案

只需等待元素以通常的方式出现,这里不需要递归方法和特殊的异常处理:

def waitForElementPresent(driver, selector):
return WebDriverWait(driver, 60).until(EC.presence_of_element_located(selector))

element = waitForElementPresent(driver, (By.ID, "myid"))

关于python - 当 Javascript 刷新时,Selenium WebDriver waitForElementPresent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30327602/

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