selenium 点击查询后,等待页面刷新
时间: 2023-08-19 17:29:21 浏览: 201
在使用 Selenium 点击查询按钮后,等待页面刷新的方法有多种,其中一种常见的方法是使用 `WebDriverWait` 类的 `until` 方法等待页面元素的出现或变化。
例如,假设点击查询按钮后页面上会出现一个 ID 为 results 的元素,那么可以使用以下代码等待该元素的出现:
```python
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# 点击查询按钮
button = driver.find_element_by_id("query-button")
button.click()
# 等待页面刷新,直到出现 ID 为 results 的元素
wait = WebDriverWait(driver, 10)
element = wait.until(EC.presence_of_element_located((By.ID, "results")))
```
这里使用了 `WebDriverWait` 类和 `expected_conditions` 模块来等待页面元素的出现。`WebDriverWait` 构造函数中的第一个参数指定了等待的最长时间(单位为秒),第二个参数指定了浏览器驱动对象。`until` 方法中的参数是一个元组,第一个元素指定了等待条件,这里使用 `presence_of_element_located` 方法表示等待元素的出现,第二个元素指定了元素定位方式,这里使用 ID 定位方式。
当页面上出现 ID 为 results 的元素时,`until` 方法会返回该元素,代码继续执行。如果等待时间超过了指定的最长时间,`until` 方法会抛出 `TimeoutException` 异常。
阅读全文