解决Python selenium get页面很慢时的问题


Posted in Python onJanuary 30, 2019

driver.get("url")等到页面全部加载渲染完成后才会执行后续的脚本。

在执行脚本时,driver.get("url") ,如果当前的url页面内容较多加载特别慢,很费时间,但是我们需要操作的元素已经加载出来,可以将页面加载停掉,不影响后面的脚本执行,解决办法

设置页面加载timeout,get操作: try get except 脚本window.stop(), 使用GeckoDriver上有效果,

但是在ChromeDriver上还是会有问题,抛出异常timeout后续脚本不会继续执行

GeckoDriver执行具体如下:

访问百度贴吧某个获取其帖子总页数:

可以通过两种方式获取,简单的就是直接定位元素共11页

代码用定位尾页获取总页数

解决Python selenium get页面很慢时的问题

from selenium import webdriver
import re
 
driver = webdriver.Firefox()
#设定页面加载timeout时长,需要的元素能加载出来就行
driver.set_page_load_timeout(20)
driver.set_script_timeout(20)
#try去get
try:
  driver.get("http://tieba.baidu.com/p/5659969529?red_tag=w0852861182")
except:
  print("加载页面太慢,停止加载,继续下一步操作")
  driver.execute_script("window.stop()")
last_page_element = driver.find_element_by_css_selector("li.l_pager.pager_theme_4.pb_list_pager >a:nth-child(12)") #定位到元素尾页元素
#获取尾页页码链接文本
text = last_page_element.get_attribute("href")
all_page_num = re.search("\d+$",text).group() # 正则匹配到页码
print("当前贴吧贴子总页数为:%s"%all_page_num)

以上这篇解决Python selenium get页面很慢时的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跟老齐学Python之正规地说一句话
Sep 28 Python
Python自定义函数定义,参数,调用代码解析
Dec 27 Python
Python(Django)项目与Apache的管理交互的方法
May 16 Python
python实现本地图片转存并重命名的示例代码
Oct 27 Python
解决pip install xxx报错SyntaxError: invalid syntax的问题
Nov 30 Python
Python实现插入排序和选择排序的方法
May 12 Python
python3.6+django2.0+mysql搭建网站过程详解
Jul 24 Python
python使用gdal对shp读取,新建和更新的实例
Mar 10 Python
解析python 中/ 和 % 和 //(地板除)
Jun 28 Python
python正则表达式re.match()匹配多个字符方法的实现
Jan 27 Python
Python实现Telnet自动连接检测密码的示例
Apr 16 Python
Python使用Kubernetes API访问集群
May 30 Python
对python实现模板生成脚本的方法详解
Jan 30 #Python
ActiveMQ:使用Python访问ActiveMQ的方法
Jan 30 #Python
python 发送和接收ActiveMQ消息的实例
Jan 30 #Python
Python批量生成特定尺寸图片及图画任意文字的实例
Jan 30 #Python
理想高通滤波实现Python opencv示例
Jan 30 #Python
对DataFrame数据中的重复行,利用groupby累加合并的方法详解
Jan 30 #Python
WIn10+Anaconda环境下安装PyTorch(避坑指南)
Jan 30 #Python
You might like
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
2007/01/15 PHP
腾讯QQ php程序员面试题目整理
2010/06/08 PHP
PHP实现简单爬虫的方法
2015/07/29 PHP
php实现算术验证码功能
2018/12/05 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
JS定时关闭窗口的实例
2013/05/22 Javascript
JavaScript动态创建link标签到head里的方法
2014/12/22 Javascript
深入理解JavaScript系列(46):代码复用模式(推荐篇)详解
2015/03/04 Javascript
JS实现仿微博可关闭弹出层效果
2015/09/21 Javascript
常见的javascript跨域通信方法
2015/12/31 Javascript
Bootstrap超大屏幕的实现代码
2017/03/22 Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
2017/04/24 Javascript
Webpack如何引入bootstrap的方法
2017/06/17 Javascript
浅谈对Angular中的生命周期钩子的理解
2017/07/31 Javascript
React操作真实DOM实现动态吸底部的示例
2017/10/23 Javascript
nodejs 使用http进行post或get请求的实例(携带cookie)
2019/01/03 NodeJs
Vue跨域请求问题解决方案过程解析
2020/08/07 Javascript
JSON 入门教程基础篇 json入门学习笔记
2020/09/22 Javascript
[42:48]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第二场 12.11
2020/12/16 DOTA
[01:10:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第一场 3月4日
2021/03/11 DOTA
[08:08]DOTA2-DPC中国联赛2月28日Recap集锦
2021/03/11 DOTA
python实现的重启关机程序实例
2014/08/21 Python
零基础写python爬虫之urllib2中的两个重要概念:Openers和Handlers
2014/11/05 Python
Python基于OpenCV库Adaboost实现人脸识别功能详解
2018/08/25 Python
python3使用QQ邮箱发送邮件
2020/05/20 Python
PyTorch的SoftMax交叉熵损失和梯度用法
2020/01/15 Python
Python递归调用实现数字累加的代码
2020/02/25 Python
Jack Rogers官网:美国经典的女性鞋靴品牌
2019/09/04 全球购物
文言文形式的学生求职信
2013/12/03 职场文书
生产厂厂长岗位职责
2013/12/25 职场文书
保密工作责任书
2014/04/16 职场文书
设计师求职信模板
2014/05/06 职场文书
幼儿园万圣节活动总结
2015/05/05 职场文书
七年级之开学家长寄语35句
2019/09/05 职场文书
css实现左上角飘带效果的完整代码
2022/03/18 HTML / CSS
使用Redis做预定库存缓存功能
2022/04/02 Redis