首页 > 解决方案 > WebDriverWait 多个条件(或逻辑评估)

问题描述

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

标签: pythonseleniumselenium-webdriverwebdriverwebdriverwait

解决方案


在不使用多个通过 OR 选项为两个元素try/except{}诱导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"))
    

参考

您可以在以下位置找到一些相关的讨论:


推荐阅读