解决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 第一步 hello world
Sep 25 Python
简要讲解Python编程中线程的创建与锁的使用
Feb 28 Python
微信跳一跳小游戏python脚本
Jan 05 Python
Python实现的基于优先等级分配糖果问题算法示例
Apr 25 Python
python实现将一个数组逆序输出的方法
Jun 25 Python
python 使用正则表达式按照多个空格分割字符的实例
Dec 20 Python
浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器
Mar 11 Python
Python程序包的构建和发布过程示例详解
Jun 09 Python
在Python中画图(基于Jupyter notebook的魔法函数)
Oct 28 Python
python 装饰器功能与用法案例详解
Mar 06 Python
python+selenium 脚本实现每天自动登记的思路详解
Mar 11 Python
python3.7中安装paddleocr及paddlepaddle包的多种方法
Nov 27 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
PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
2011/08/03 PHP
浅析Yii2集成富文本编辑器redactor实例教程
2016/04/25 PHP
php curl中gzip的压缩性能测试实例分析
2016/11/08 PHP
thinkphp3.2实现跨控制器调用其他模块的方法
2017/03/14 PHP
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
css动画效果之animation的常用样式
2021/03/09 HTML / CSS
js加解密 脚本解密
2008/02/22 Javascript
一个原生的用户等级的进度条
2010/07/03 Javascript
jquery 查找新建元素代码
2010/07/06 Javascript
JS时间选择器 兼容IE6,7,8,9
2012/06/26 Javascript
用客户端js实现带省略号的分页
2013/04/27 Javascript
javascript进行四舍五入方法汇总
2014/12/16 Javascript
jQuery EasyUI datagrid在翻页以后仍能记录被选中行的实现代码
2016/08/15 Javascript
使用JQuery中的trim()方法去掉前后空格
2016/09/16 Javascript
jQuery animate()实现背景色渐变效果的处理方法【使用jQuery.color.js插件】
2017/03/15 Javascript
vue webpack开发访问后台接口全局配置的方法
2018/09/18 Javascript
Node.js HTTP服务器中的文件、图片上传的方法
2019/09/23 Javascript
JavaScript实现Tab选项卡切换
2020/02/13 Javascript
浅谈es6中的元编程
2020/12/01 Javascript
[04:44]显微镜下的DOTA2第二期——你所没有注意到的细节
2014/06/20 DOTA
Python 使用os.remove删除文件夹时报错的解决方法
2017/01/13 Python
Pycharm学习教程(7)虚拟机VM的配置教程
2017/05/04 Python
python判断文件是否存在,不存在就创建一个的实例
2019/02/18 Python
使用python将多个excel文件合并到同一个文件的方法
2019/07/09 Python
Python 实现使用空值进行赋值 None
2020/03/12 Python
python主要用于哪些方向
2020/07/05 Python
python批量修改文件名的示例
2020/09/27 Python
解决pytorch 数据类型报错的问题
2021/03/03 Python
日期和时间问题
2015/01/04 面试题
《兰亭集序》教学反思
2014/02/11 职场文书
计算机网络工程专业职业生涯规划书
2014/03/10 职场文书
流动人口婚育证明范本
2014/09/26 职场文书
实习生矿工检讨书
2014/10/13 职场文书
安全生产警示教育活动总结
2015/05/09 职场文书
中学生打架《检讨书》范文
2019/08/12 职场文书
JS如何实现基于websocket的多端桥接平台
2021/05/14 Javascript