解决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高并发异步服务器核心库forkcore使用方法
Nov 26 Python
详解字典树Trie结构及其Python代码实现
Jun 03 Python
python图片验证码生成代码
Jul 02 Python
Python中easy_install 和 pip 的安装及使用
Jun 05 Python
Flask 让jsonify返回的json串支持中文显示的方法
Mar 26 Python
django 数据库连接模块解析及简单长连接改造方法
Aug 29 Python
Python爬虫使用浏览器cookies:browsercookie过程解析
Oct 22 Python
Python中私有属性的定义方式
Mar 05 Python
解决python父线程关闭后子线程不关闭问题
Apr 25 Python
Python通过fnmatch模块实现文件名匹配
Sep 30 Python
python实现图像随机裁剪的示例代码
Dec 10 Python
 Python 中 logging 模块使用详情
Mar 03 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类的注册与自动加载
2013/07/05 PHP
PHP关于htmlspecialchars、strip_tags、addslashes的解释
2014/07/04 PHP
PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)
2016/09/11 PHP
PHP基于array_unique实现二维数组去重
2020/07/14 PHP
基于Jquery与WebMethod投票功能实现代码
2011/01/19 Javascript
jquery $.ajax相关用法分享
2012/03/16 Javascript
解析javascript系统错误:-1072896658的解决办法
2013/07/08 Javascript
js动态切换图片的方法
2015/01/20 Javascript
基于JavaScript实现div层跟随滚动条滑动
2016/01/12 Javascript
Bootstrap3使用typeahead插件实现自动补全功能
2016/07/07 Javascript
jquery实现的table排序功能示例
2017/03/10 Javascript
vue.js的安装方法
2017/05/12 Javascript
AngularJS自定义指令之复制指令实现方法
2017/05/18 Javascript
jQuery选择器之表单元素选择器详解
2017/09/19 jQuery
vue slot 在子组件中显示父组件传递的模板
2018/03/02 Javascript
在Vue项目中使用d3.js的实例代码
2018/05/01 Javascript
JS 中可以提升幸福度的小技巧(可以识别更多另类写法)
2018/07/28 Javascript
jQuery中常用动画效果函数知识点整理
2018/08/19 jQuery
webpack常用配置总览(小结)
2019/11/18 Javascript
Websocket 向指定用户发消息的方法
2020/01/09 Javascript
vue 查看dist文件里的结构(多种方式)
2020/01/17 Javascript
python实现从web抓取文档的方法
2014/09/26 Python
Windows下安装python2.7及科学计算套装
2015/03/05 Python
python数据结构之图的实现方法
2015/07/08 Python
Python的CGIHTTPServer交互实现详解
2018/02/08 Python
python使用PyQt5的简单方法
2019/02/27 Python
python实现小球弹跳效果
2019/05/10 Python
opencv 实现特定颜色线条提取与定位操作
2020/06/02 Python
IE兼容css3圆角的实现代码
2011/07/21 HTML / CSS
html5嵌入内容_动力节点Java学院整理
2017/07/07 HTML / CSS
企业文化标语口号
2014/06/09 职场文书
小学生春游活动方案
2014/08/20 职场文书
出纳试用期工作总结2015
2015/05/28 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书
探讨Java中的深浅拷贝问题
2021/06/26 Java/Android
Java面试题冲刺第十六天--消息队列
2021/08/07 面试题