python - WebDriverWait 多个条件(或逻辑评估)

标签 python selenium selenium-webdriver webdriver webdriverwait

使用 python,WebDriverWait 方法用于等待 1 个元素出现在网页上。
如何在没有多次尝试/除外的情况下使用此方法?
使用此方法是否有多个案例的 OR 选项?
https://selenium-python.readthedocs.io/waits.html

最佳答案

不使用多个 try/except{}要通过 OR 选项为两个元素引入 WebDriverWait,您可以使用以下任一解决方案:

  • 使用 CSS_SELECTOR :
    element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, ".element_A_class, .element_B_class"))
    
  • 使用 XPATH通过 :
    element = WebDriverWait(driver,20).until(lambda driver: driver.find_element(By.XPATH,"element_A_xpath") or driver.find_element(By.XPATH,"element_B_xpath"))
    

  • 引用
    您可以在以下位置找到一些相关讨论:
  • selenium two xpath tests in one
  • Python / Selenium: Logic Operators in WebDriverWait Expected Conditions
  • 关于python - WebDriverWait 多个条件(或逻辑评估),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60496204/

    相关文章:

    python - SQLAlchemy:通过主键进行高效/更好的选择?

    python - 规范化 VS。 numpy 规范化方法?

    python - Pandas Dataframe 通过按值对单元格进行分组来创建列

    java - 使用 Selenium WebDriver java 单击动态加载页面的元素

    python - 我无法在 selenium 中使用 python 请求 session cookie

    python - headless (headless)和代理身份验证 Selenium Python

    java - Selenium Webdriver - 单击多个下拉菜单时出现陈旧元素异常,而 HTML DOM 不会更改

    python - #include 在 Python 中,但实际上只包含

    selenium - 在xpath中定位self或perent节点的同级元素

    python - 如何在 python selenium 中获取每个 window_handles 项目的标题