安阳网站建设推广优化,wordpress 高级选项,WordPress判断是否为该分类,企业网站如何设计在用selenium爬取动态加载网页时#xff0c;发现网页内容都全部加载完了#xff0c;但是页面还在转圈#xff0c;并且获取页面内容的代码也没有执行#xff0c;后面了解到selenium元素操作等方法是需要等待页面所有元素完全加载完成后才开始执行的#xff0c;所以在页面未…在用selenium爬取动态加载网页时发现网页内容都全部加载完了但是页面还在转圈并且获取页面内容的代码也没有执行后面了解到selenium元素操作等方法是需要等待页面所有元素完全加载完成后才开始执行的所以在页面未完成加载前代码会一直等待页面加载不继续执行。
解决方法
设置页面加载时间到了点就通过异常处理的方式让页面加载停止。超过设置的加载时间就会报错然后捕获异常让页面停止加载
import time
from selenium import webdriverstart time.time()driver webdriver.Chrome()
# 设置页面加载时间
driver.set_page_load_timeout(5)try:driver.get(https://search.damai.cn/search.html?keyword111spma2oeg.home.searchtxt.dsearchbtn)
except:# 超时后执行Javascript停止页面加载driver.execute_script(window.stop())end time.time()
# 计算页面加载时间
print(end - start)6.229357481002808
设置加载策略设置加载策略为eager
import time
from selenium import webdriverstart time.time()options webdriver.ChromeOptions()
# 设置加载策略为eager
options.page_load_strategy eager
driver webdriver.Chrome(optionsoptions)
driver.get(https://search.damai.cn/search.html?keyword111spma2oeg.home.searchtxt.dsearchbtn)end time.time()
# 计算页面加载时间
print(end - start)1.859546184539795
通过这2步可以大大提升速度。之前我加载页面一个就要42s效率很低。改完以后刷刷滴