selenium判断网页加载
时间: 2023-08-13 20:02:25 浏览: 118
使用Selenium判断网页加载状态可以通过`ExpectedConditions`类中的`InvisibilityOfElementLocated`或`StalenessOf`条件来实现。这些条件会在页面元素消失或变得陈旧时返回`True`,表示页面已经加载完成。以下是使用这些条件的示例代码:
```python
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("https://www.example.com")
# 等待页面加载完成
wait = WebDriverWait(driver, 10)
wait.until(EC.invisibility_of_element_located((By.XPATH, "//div[@class='loading']")))
# 或者 wait.until(EC.staleness_of(driver.find_element_by_id("some_element_id")))
# 在页面加载完成后执行其他操作
# ...
```
需要注意的是,在上述示例代码中,`invisibility_of_element_located`条件需要传入一个元组,第一个元素为`By`对象,指定定位元素的方式,第二个元素为字符串,指定元素的定位表达式。`staleness_of`条件需要传入一个`WebElement`对象,表示要检查的元素。在等待期间,程序会每隔500毫秒检查一次页面状态,直到页面加载完成或超时。如果超时时仍未加载完成,将会抛出`TimeoutException`异常。
阅读全文