Python Selenium WebDriverWait 问题

问题描述

我正在尝试使用 webdriverwait 来检查是否可以看到预期的仪表板 URL 已加载,并且我还检查是否存在强制徽标。我有下面的相关代码

if webdriverwait (driver,30).until(EC.url_to_be(<expected_dashboard_url>) and driver.find_elements_by_id(<logo_id>):
    print("Successful")

我看到仪表板 url 已正确加载到浏览器上,页面上也显示了预期的强制徽标,但在我的控制台上我没有看到“成功”消息,它一直在等待并导致 TimeoutException。

注意:所有必要的导入都已完成并正确实例化了 webdriver。

解决方法

如果我理解正确,你可以试试这个;

browser.get("url")
delay = 5
try:
    element = WebDriverWait(browser,delay).until(EC.presence_of_element_located((By.ID,'id')))
except TimeoutException:
    print "not loaded"

我之前遇到过这个问题,并使用此链接中的解决方案解决了它。如果这不起作用你可以看看;

Wait until page is loaded with Selenium WebDriver for Python