【问题标题】:Selenium webdriver - wait until 1 of 2 selectors is visibleSelenium webdriver - 等到 2 个选择器中的 1 个可见
【发布时间】:2019-10-31 00:52:54
【问题描述】:

我正在尝试使用 Selenium 根据我输入的日期自动下载一些报告。

页面由 Javascript 更新。

有时要下载的报告列表可能需要一段时间才能加载,因此我使用了 WebDriverWait 函数。

有几个页面可以没有报告。这会为具有报告的页面带来不同的 css_selector。

没有报告的css_selector = "#report-list"

带有报告的css_selector = "#no_reports"

我在网上进行了搜索,但我能找到的唯一解决方案是 Java: Selenium Wait for anyone of Element to visible

我已经尝试了下面的代码,但它不起作用。

wait = WebDriverWait(browser, 10)
        wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "#reports-list","#no_reports")))

【问题讨论】:

    标签: python python-3.x selenium


    【解决方案1】:

    要在单个 CSS 选择器中等待两个元素,请使用:

    wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "#reports-list, #no_reports")))
    

    你的代码错误是(By.CSS_SELECTOR, "#reports-list","#no_reports")

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-18
      • 2016-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多