【发布时间】:2018-02-19 04:34:07
【问题描述】:
我正在使用 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>
【问题讨论】:
-
@JeffC 我是 Python 新手,所以也许我错了,但我正在寻找 Python 特定的答案。我相信您提供的链接仅适用于 CSS,不适用于 Python 用于搜索 CSS。
-
借助 Python 和 Selenium,您可以使用 CSS 选择器来定位元素。您可以创建一个 CSS 选择器,链接中的示例,它使用 OR 逻辑,这样您就可以得到您想要的。
-
@JeffC 哦,对不起,我不明白你在说什么。我看到了 DebanjanB 的解决方案,我现在可以看到你正在使用它。感谢您的帮助!
标签: python selenium selenium-webdriver webdriverwait