我正在使用Python / Selenium提交表单,然后让Web驱动程序通过使用类ID的预期条件来等待下一页的加载。
我的问题是可以显示两个页面,但是它们没有共享原始页面中没有的唯一元素(我可以找到)。一页的唯一类别为mobile_txt_holder
,另一页的类别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>
除了通过expected_conditions
子句合并2 or
之外,我们还可以轻松构造一个CSS
来满足我们的要求。下面的CSS
将在mobile_txt_holder
类或[ C0]类别:
notfoundcopy
您可以在
element = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.CSS_SELECTOR, ".mobile_txt_holder, .notfoundcopy"))
中找到详细的讨论