Python / Selenium:WebDriverWait中的逻辑运算符预期条件

时间:2017-09-11 01:41:59

标签: python selenium wait

我使用Python / Selenium提交表单然后我让Web驱动程序通过使用类ID使用预期条件来等待下一页加载。

我的问题是有两个页面可以显示,但它们不共享一个不在原始页面中的唯一元素(我可以找到)。一个页面的唯一类别为mobile_txt_holder,另一个页面的类别ID为notfoundcopy我想使用正在寻找mobile_txt_holdernotfoundcopy的等待。

是否可以将两个预期条件合并为一个等待?

我正在寻找的基本想法,但显然不会工作:

    WebDriverWait(driver, 30).until(EC.presence_of_element_located((By.CLASS_NAME, "mobile_txt_holder")))
 or .until(EC.presence_of_element_located((By.CLASS_NAME, "notfoundcopy")))

我真的需要编程才能等到下一页加载,以便我可以解析源代码。

示例HTML:

<p class="notfoundcopy">Unfortunately, the number you entered is not in our tracking system.</p>

1 个答案:

答案 0 :(得分:2)

除了通过expected_conditionsor条款进行调整之外,我们可以轻松构建CSS以满足我们的要求以下CSS将查找EC在mobile_txt_holder班级或notfoundcopy班级:

element = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.CSS_SELECTOR, ".mobile_txt_holder, .notfoundcopy"))