selenium显式等待 python
时间: 2023-11-17 19:03:39 浏览: 98
Selenium Webdriver 提供了显式等待来等待满足一定条件后再进一步执行代码。在Python中,可以使用WebDriverWait类和expected_conditions模块来实现显式等待。下面是一个示例代码:
```python
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Chrome()
driver.get("url")
# 等待元素出现
element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "你的标签ID")))
# 等待元素可点击
element = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, "你的标签ID")))
# 等待元素文本包含指定字符串
element = WebDriverWait(driver, 10).until(EC.text_to_be_present_in_element((By.ID, "你的标签ID"), "指定字符串"))
# 等待元素不可见
element = WebDriverWait(driver, 10).until_not(EC.visibility_of_element_located((By.ID, "你的标签ID")))
```
在上面的代码中,我们使用WebDriverWait类来等待元素出现或可点击,或文本包含指定字符串,或不可见。我们还使用了expected_conditions模块来定义等待条件。在这个示例中,我们使用了By.ID来定位元素,但是也可以使用其他的定位方式,例如By.XPATH或By.CSS_SELECTOR。
阅读全文