解决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中处理unchecked未捕获异常实例
Jan 17 Python
Python 详解基本语法_函数_返回值
Jan 22 Python
Python对象类型及其运算方法(详解)
Jul 05 Python
Python秒算24点实现及原理详解
Jul 29 Python
python实现图片压缩代码实例
Aug 12 Python
python中class的定义及使用教程
Sep 18 Python
python 创建一维的0向量实例
Dec 02 Python
使用Django实现把两个模型类的数据聚合在一起
Mar 28 Python
python 5个顶级异步框架推荐
Sep 09 Python
Python爬虫破解登陆哔哩哔哩的方法
Nov 17 Python
如何查看python关键字
Jan 17 Python
Python Pygame实现俄罗斯方块
Feb 19 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
人大复印资料处理程序_补充篇
2006/10/09 PHP
四种php中webservice实现的简单架构方法及实例
2015/02/03 PHP
WordPress开发中短代码的实现及相关函数使用技巧
2016/01/05 PHP
基于PHPexecl类生成复杂的报表表头示例
2016/10/14 PHP
PHP实现的链式队列结构示例
2017/09/15 PHP
在b/s开发中经常用到的javaScript技术
2006/08/23 Javascript
当鼠标移动到图片上时跟随鼠标显示放大的图片效果
2013/06/06 Javascript
js onload处理html页面加载之后的事件
2013/10/30 Javascript
javascript中处理时间戳为日期格式的方法
2014/01/02 Javascript
Js冒泡事件详解及阻止示例
2014/03/21 Javascript
javascript中slice(),splice(),split(),substring(),substr()使用方法
2015/03/13 Javascript
jquery插件tytabs.jquery.min.js实现渐变TAB选项卡效果
2015/08/25 Javascript
JavaScript代码判断点击第几个按钮
2015/12/13 Javascript
浅谈JavaScript的内置对象和浏览器对象
2016/06/03 Javascript
Bootstrap 源代码分析(未完待续)
2016/08/17 Javascript
浅谈js继承的实现及公有、私有、静态方法的书写
2016/10/28 Javascript
jquery实现tab键进行选择后enter键触发click行为
2017/03/29 jQuery
Ionic3 UI组件之Gallery Modal详解
2017/06/07 Javascript
三步实现ionic3点击退出app程序
2019/09/17 Javascript
node.js使用mongoose操作数据库实现购物车的增、删、改、查功能示例
2019/12/23 Javascript
vue仿携程轮播图效果(滑动轮播,下方高度自适应)
2021/02/11 Vue.js
[15:20]DOTA2-DPC中国联赛 正赛 Elephant vs Aster 选手采访
2021/03/11 DOTA
使用python 获取进程pid号的方法
2014/03/10 Python
Python WXPY实现微信监控报警功能的代码
2017/10/20 Python
Python实现简易Web爬虫详解
2018/01/03 Python
Python程序员面试题 你必须提前准备!
2018/01/16 Python
详解python环境安装selenium和手动下载安装selenium的方法
2020/03/17 Python
CSS3 旋转立方体问题详解
2020/01/09 HTML / CSS
伊莱克斯(Electrolux)俄罗斯网上商店:瑞典家用电器品牌
2021/01/23 全球购物
教师党员先进性教育自我剖析材料思想汇报
2014/09/24 职场文书
2014五年级班主任工作总结
2014/12/05 职场文书
六一儿童节致辞
2015/07/31 职场文书
Jsonp劫持学习
2021/04/01 PHP
WebRTC记录音视频流(web技术分享)
2022/02/24 Javascript
python解析json数据
2022/04/29 Python
Java实现字符串转为驼峰格式的方法详解
2022/07/07 Java/Android