selenium判断页面加载完成
时间: 2023-07-26 08:15:24 浏览: 506
selenium---详细讲解
Selenium可以通过判断页面状态来判断页面是否加载完成。具体的方法有以下几种:
1. 使用Selenium的ExpectedConditions类中的`document.readyState`方法。该方法可以判断页面是否已经加载完成,代码如下:
```
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# 等待页面加载完成
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.TAG_NAME, "body")))
```
2. 使用Selenium的ExpectedConditions类中的`element_to_be_clickable`方法。该方法可以判断页面中的某个元素是否可以被点击,从而判断页面是否已经加载完成,代码如下:
```
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# 等待某个元素可被点击
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//button[@id='myButton']")))
```
3. 使用JavaScript来判断页面是否已经加载完成,代码如下:
```
from selenium.webdriver.common.by import By
# 使用JavaScript判断页面是否已经加载完成
def wait_for_page_load(driver):
old_page = driver.find_element(By.TAG_NAME, 'html')
yield
WebDriverWait(driver, 30).until(EC.staleness_of(old_page))
```
以上三种方法均可判断页面是否已经加载完成。
阅读全文