WebDriverWait 预期条件中的逻辑运算符
Logic Operators in WebDriverWait Expected Conditions
我正在使用 Python / Selenium 提交表单,然后我让 Web 驱动程序使用 class id 使用预期条件等待下一页加载。
我的问题是有两个页面可以显示,但它们不共享原始页面中不存在的唯一元素(我可以找到)。一个页面的唯一 class 是 mobile_txt_holder
,另一个可能的页面具有 class id notfoundcopy
。 我想等待 mobile_txt_holder
或 notfoundcopy
出现。
是否可以将两个预期条件合并为一个等待?
我正在寻找但显然行不通的基本想法:
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>
除了通过 or
子句组合 2 expected_conditions
之外,我们还可以轻松构造一个 CSS
来满足我们的要求 以下 CSS
将查找EC 在 mobile_txt_holder
class 或 notfoundcopy
class:
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, ".mobile_txt_holder, .notfoundcopy"))
You can find a detailed discussion in
我正在使用 Python / Selenium 提交表单,然后我让 Web 驱动程序使用 class id 使用预期条件等待下一页加载。
我的问题是有两个页面可以显示,但它们不共享原始页面中不存在的唯一元素(我可以找到)。一个页面的唯一 class 是 mobile_txt_holder
,另一个可能的页面具有 class id notfoundcopy
。 我想等待 mobile_txt_holder
或 notfoundcopy
出现。
是否可以将两个预期条件合并为一个等待?
我正在寻找但显然行不通的基本想法:
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>
除了通过 or
子句组合 2 expected_conditions
之外,我们还可以轻松构造一个 CSS
来满足我们的要求 以下 CSS
将查找EC 在 mobile_txt_holder
class 或 notfoundcopy
class:
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, ".mobile_txt_holder, .notfoundcopy"))
You can find a detailed discussion in