WebDriverWait 的运行时间比预期的要长

WebDriverWait runs longer than intended

提问人:Max Mustermann 提问时间:3/4/2022 最后编辑:Max Mustermann 更新时间:3/4/2022 访问量:65

问:

我正在尝试等待一个元素可单击,然后单击它,但 WebDriverWait 似乎没有按预期工作。超时选项似乎也不起作用 - 程序运行时间远超过 5 秒,最终向我抛出“TimeoutException:TimedPromise 在 300000 毫秒后超时”。我没有设置任何隐式等待,甚至在运行代码之前尝试将其设置为 0,但这没有任何改变。任何想法可能是什么问题?

from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

binary = FirefoxBinary(r"C:\Program Files\Mozilla Firefox\firefox.exe")
browser = webdriver.Firefox(firefox_binary=binary)

browser.get("https://www.oddsportal.com/login/")

submit = WebDriverWait(browser, timeout=5).until(EC.element_to_be_clickable((By.XPATH,'//*[@id="onetrust-reject-all-handler"]')))
submit.click()
蟒蛇 火狐

评论

0赞 pmadhu 3/4/2022
按钮的 Xpath 是 。缺少一个Reject All//*[@id="onetrust-reject-all-handler"]-...all-handler
0赞 pmadhu 3/4/2022
请参阅此链接 - 链接。定位器必须匹配。并表示未找到该元素。 不在 DOM 中查找任何元素。1/1TimeoutException//*[@id="onetrust-reject-allhandler"]
0赞 Max Mustermann 3/4/2022
@pmadhu 对不起,我有正确的 xpath,但在复制代码时丢失了。我对正确的 xpath 有同样的问题。-
1赞 pmadhu 3/4/2022
我正在使用 Chrome 浏览器 - 它工作正常。可能是因为浏览器设置。不确定chromedriver.exe
1赞 Max Mustermann 3/4/2022
@pmadhu感谢您的建议,它在使用 chromedriver 进行设置后起作用。我认为我的 firefox 驱动程序存在问题,过时或设置不正确,不太确定。在驱动程序没有任何更新的情况下使用了很长时间(浏览器已更新),还不完全知道,会调查它。谢谢!

答: 暂无答案