解决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 相关文章推荐
Pyhthon中使用compileall模块编译源文件为pyc文件
Apr 28 Python
python 默认参数问题的陷阱
Feb 29 Python
利用Python破解斗地主残局详解
Jun 30 Python
Python django使用多进程连接mysql错误的解决方法
Oct 08 Python
对dataframe数据之间求补集的实例详解
Jan 30 Python
matplotlib实现区域颜色填充
Mar 18 Python
Python生成MD5值的两种方法实例分析
Apr 26 Python
Python学习笔记之Django创建第一个数据库模型的方法
Aug 07 Python
django+echart数据动态显示的例子
Aug 12 Python
python生成requirements.txt的两种方法
Sep 18 Python
python thrift 实现 单端口多服务的过程
Jun 08 Python
python 如何使用find和find_all爬虫、找文本的实现
Oct 16 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
免费的ip数据库淘宝IP地址库简介和PHP调用实例
2014/04/08 PHP
PHP explode()函数用法讲解
2019/02/15 PHP
php自定义排序uasort函数示例【二维数组按指定键值排序】
2019/06/19 PHP
laravel返回统一格式错误码问题
2019/11/04 PHP
javascript获得服务器端控件的ID的实现代码
2011/12/28 Javascript
js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)
2013/02/02 Javascript
循环 vs 递归浅谈
2013/02/28 Javascript
jquery图片放大镜功能的实例代码
2013/03/26 Javascript
js enter键激发事件实例代码
2016/08/17 Javascript
js实现鼠标跟随运动效果
2020/08/02 Javascript
angular之ng-template模板加载
2017/11/09 Javascript
jQuery+PHP实现上传裁剪图片
2020/06/29 jQuery
M2实现Nodejs项目自动部署的方法步骤
2019/05/05 NodeJs
nodejs中使用archive压缩文件的实现代码
2019/11/26 NodeJs
如何使用JS console.log()技巧提高工作效率
2020/10/14 Javascript
Windows和Linux下使用Python访问SqlServer的方法介绍
2015/03/10 Python
安装Python的web.py框架并从hello world开始编程
2015/04/25 Python
python实现一次创建多级目录的方法
2015/05/15 Python
Python中 Lambda表达式全面解析
2016/11/28 Python
python+splinter实现12306网站刷票并自动购票流程
2018/09/25 Python
对python的unittest架构公共参数token提取方法详解
2018/12/17 Python
python游戏开发之视频转彩色字符动画
2019/04/26 Python
Django REST framework内置路由用法
2019/07/26 Python
PIL对上传到Django的图片进行处理并保存的实例
2019/08/07 Python
Python 矩阵转置的几种方法小结
2019/12/02 Python
python代码如何实现余弦相似性计算
2020/02/09 Python
Python批量删除mysql中千万级大量数据的脚本分享
2020/12/03 Python
一款纯css3实现的鼠标悬停动画按钮
2014/12/29 HTML / CSS
CSS3实现各种图形的示例代码
2016/10/19 HTML / CSS
澳大利亚在线消费电子产品商店:TobyDeals
2020/01/05 全球购物
STP协议的主要用途是什么?为什么要用STP
2012/12/20 面试题
博士生入学考试推荐信
2013/11/17 职场文书
证婚人搞笑证婚词
2014/01/10 职场文书
劳动争议仲裁代理词
2015/05/25 职场文书
离婚民事起诉状
2015/08/03 职场文书
2016年大学生社区服务活动总结
2016/04/06 职场文书