我使用Python / Selenium提交一个表单,然后我让Web驱动程序等待下一个页面加载,这是通过使用class 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>
个
2条答案
按热度按时间pw9qyyiw1#
除了通过
or
子句增加2个expected_conditions
之外,我们还可以轻松地构建一个CSS
来满足我们的需求。下面的CSS
将在mobile_txt_holder
类或notfoundcopy
类中查找EC:字符串
您可以在selenium中找到详细的讨论,两个XPath测试合二为一
tuwxkamq2#
从selenium python v4.0.0开始,您可以使用EC.any_of来查找多个条件或一起查找:
字符串