Selenium有三种加载策略,如下:
normal (默认):所有内容加载完成,包括文件、css、js等。
eager:等待初始HTML文档完全加载和解析,并放弃css、图像和子框架的加载。
none:仅等待初始页面下载即可操作。
1、当加载策略为默认情况下的normal时,运行如下代码可测试出其加载时间
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
start = time.time()
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
end = time.time()
print(end - start)
el = driver.find_element("name", value='wd')
# 对元素输入文本
el.send_keys('山月记')
# 找到搜索按钮并点击一次
driver.find_element("id", value='su').click()
运行后得到时长约2.5s(该时长并不固定,经测试,发现约在2~3s),如下
2、当加载策略为eager时,运行如下代码
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.page_load_strategy = 'eager'
start = time.time()
driver = webdriver.Chrome(options=chrome_options)
driver.get('http://www.baidu.com')
end = time.time()
print(end - start)
el = driver.find_element("name", value='wd')
# 对元素输入文本
el.send_keys('山月记')
# 找到搜索按钮并点击一次
driver.find_element("id", value='su').click()
运行后得到时长约2.2s(该时长并不固定,经测试,发现约在2.1~2.3s),如下
3、当加载策略为none时,运行如下代码
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.page_load_strategy = 'none'
start = time.time()
driver = webdriver.Chrome(options=chrome_options)
driver.get('http://www.baidu.com')
end = time.time()
print(end - start)
el = driver.find_element("name", value='wd')
# 对元素输入文本
el.send_keys('山月记')
# 找到搜索按钮并点击一次
driver.find_element("id", value='su').click()
运行后得到时长约1.5s(该时长并不固定,经测试,发现约在1.5~1.6s),如下
(但是,它会报错,显示找不到元素,报错的原因可能跟页面没有完全加载有关系)