多个条件的WebDriverWait(或逻辑求值)

WebDriverWait for multiple conditions (OR logical evaluation)(多个条件的WebDriverWait(或逻辑求值))

本文介绍了多个条件的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至lambda:

    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

这篇关于多个条件的WebDriverWait(或逻辑求值)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:多个条件的WebDriverWait(或逻辑求值)

基础教程推荐