gpt4 book ai didi

python Selenium : Explicitly wait for one of two elements to be loaded

转载 作者:太空狗 更新时间:2023-10-29 22:22:14 27 4
gpt4 key购买 nike

有没有一种方法可以让我等待两个元素之一加载到 selenium 中。我正在使用显式等待,到目前为止,还没有找到解决方案。

简单的做

WebDriverWait(driver,5).until(lambda driver : driver.find_element(By.ID,"a") or driver.find_element(By.ID,"b"))

好像不行。它只是寻找 id 为 ="a"的元素。

谢谢!

最佳答案

如果没有找到元素,

find_element 引发 NoSuchElementException 异常。

如果 id 为 a 的元素不存在,driver.find_element(By.ID,"a") 将引发异常并且 驱动程序。 find_element(By.ID,"b") 不会被执行。

解决该问题的一个简单方法是使用 find_elements,它返回空列表而不是引发异常:

WebDriverWait(driver,5).until(
lambda driver: driver.find_elements(By.ID,"a") or driver.find_elements(By.ID,"b"))

关于 python Selenium : Explicitly wait for one of two elements to be loaded,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27606026/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com