我使用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>
答案 0 :(得分:2)
除了通过expected_conditions
到or
条款进行调整之外,我们可以轻松构建CSS
以满足我们的要求以下CSS
将查找EC在mobile_txt_holder
班级或notfoundcopy
班级:
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, ".mobile_txt_holder, .notfoundcopy"))