WebDriverWait.until查找多个元素
时间: 2023-12-06 16:02:47 浏览: 233
如果你需要等待页面上的多个元素,可以使用`WebDriverWait`的`until`方法和`expected_conditions`中的`presence_of_all_elements_located`方法。这个方法会返回一个列表,其中包含所有符合条件的元素。
以下是一个示例代码:
```python
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# 等待5秒,直到页面上至少有两个class为"my-class"的元素
elements = WebDriverWait(driver, 5).until(EC.presence_of_all_elements_located((By.CLASS_NAME, "my-class")))
# 遍历所有符合条件的元素,并打印它们的文本
for element in elements:
print(element.text)
```
在上面的代码中,`WebDriverWait`会等待5秒,直到页面上至少有两个class为"my-class"的元素。然后,通过遍历`elements`列表,我们可以打印出这些元素的文本。
请注意,`presence_of_all_elements_located`方法返回的是一个列表。如果你只需要等待页面上的一个元素,可以使用`presence_of_element_located`方法。
阅读全文