4

我正在使用 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>

4

1 回答 1

3

除了clubing up 2 expected_conditionsthroughor子句之外,我们还可以轻松地构造一个CSS来满足我们的要求以下将在课堂上或课堂CSS上寻找EC :mobile_txt_holdernotfoundcopy

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

您可以在selenium two xpath tests in one中找到详细讨论

于 2017-09-11T03:37:24.950 回答