当前位置:   article > 正文

Selenium设置页面超时时间-快速终止页面加载_selenium设置超时时间

selenium设置超时时间

当使用Selenium爬取一些页面时,有些页面加载速度特别慢,而我们又不需要等待页面完全加载完毕。
此时可以通过driver.set_page_load_timeout()来设置页面超时时间。
捕获异常,并执行js脚本window.stop()即可实现,代码如下。

  1. from selenium import webdriver
  2. driver = webdriver.Chrome()
  3. driver.set_page_load_timeout(3)
  4. try:
  5. driver.get('https://hk.louisvuitton.com/zht-hk/homepage')
  6. print('finish load ....')
  7. except Exception:
  8. driver.execute_script('window.stop()')
  9. print(driver.title)
  10. finally:
  11. driver.quit()

报错处理:
如果遇到如下,超时错误,可以尝试更新chromedriver驱动。

 Selenium分离式启动Webdriver服务和浏览器

Selenium在启动浏览器时实际进行里两步操作,

  1. 通过子进程,使用chromedriver启动一套Webdriver服务
  2. 使用webdriver.Remote()方法连接该服务并发送指令启动浏览器。

在某些情况下如果,你需要分离式启动服务和连接服务的过程,可以使用以下步骤,参考代码如下:

  1. from selenium import webdriver
  2. from selenium.webdriver.chrome.service import Service # 导入chrome的服务启动方法
  3. # 1. 启动服务
  4. service = Service('/usr/local/bin/chromedriver') # 传入chromedriver路径,实例化一个服务应用
  5. service.start() # 启动服务
  6. # 2. 连接服务
  7. driver = webdriver.Remote(service.service_url) # 连接服务
  8. driver.get('https://www.baidu.com/')
  9. driver.quit()

Selenium保存网页为mhtml方法

MHTML即MIME HTML,归档网页,将样式和脚本全部集成到一个文件中。
Chrome Devtools Protcal API中包含了Page.captureSnapshot方法,可以获取到网页的mhtml格式内容。
我们使用Selenium的driver.execute_cdp_cmd()执行该命令后,将结果写入文件即可,示例代码如下。

  1. from selenium import webdriver
  2. driver = webdriver.Chrome()
  3. driver.get('https://www.qq.com/')
  4. # 1. 执行 Chome 开发工具命令,得到mhtml内容
  5. res = driver.execute_cdp_cmd('Page.captureSnapshot', {})
  6. # 2. 写入文件
  7. with open('qq.mhtml', 'w', newline='') as f: # 根据5楼的评论,添加newline=''
  8. f.write(res['data'])
  9. driver.quit()

保存结果,如下图,可以使用浏览器打开。

更多的cdp方法可以参考 (chrome-devtools-protocol)[Chrome DevTools Protocol]

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/898835
推荐阅读
相关标签
  

闽ICP备14008679号