解决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实现截屏的函数
Jul 26 Python
python爬虫爬取快手视频多线程下载功能
Feb 28 Python
详解python和matlab的优势与区别
Jun 28 Python
阿里云ECS服务器部署django的方法
Aug 29 Python
python+pygame实现坦克大战
Sep 10 Python
python实现UDP协议下的文件传输
Mar 20 Python
Python并发请求下限制QPS(每秒查询率)的实现代码
Jun 05 Python
解决pycharm中的run和debug失效无法点击运行
Jun 09 Python
PyCharm 2020.2 安装详细教程
Sep 25 Python
Python爬虫之Selenium中frame/iframe表单嵌套页面
Dec 04 Python
上手简单,功能强大的Python爬虫框架——feapder
Apr 27 Python
python blinker 信号库
May 04 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
PR值查询 | PageRank 查询
2006/12/20 PHP
hessian 在PHP中的使用介绍
2010/12/13 PHP
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
2014/06/23 PHP
php简单socket服务器客户端代码实例
2015/05/18 PHP
9个比较实用的php代码片段
2016/03/15 PHP
Laravel基础-关于引入公共文件的两种方式
2019/10/18 PHP
php数值计算num类简单操作示例
2020/05/15 PHP
window.showModalDialog使用手册
2007/01/11 Javascript
从新浪弄下来的全屏广告代码 与使用说明
2007/03/15 Javascript
Add Formatted Data to a Spreadsheet
2007/06/12 Javascript
基于jQuery的弹出消息插件 DivAlert之旅(一)
2010/04/01 Javascript
Google 静态地图API实现代码
2010/11/19 Javascript
ASP.NET jQuery 实例10 动态修改hyperlink的URL值
2012/02/03 Javascript
分享一个自己动手写的jQuery分页插件
2014/08/28 Javascript
jquery实现可拖拽弹出层特效
2015/01/04 Javascript
JS实现文档加载完成后执行代码
2015/07/09 Javascript
JavaScript如何实现对数字保留两位小数一位自动补零
2015/12/18 Javascript
Knockoutjs 学习系列(二)花式捆绑
2016/06/07 Javascript
聊一聊Vue.js过渡效果
2016/09/07 Javascript
jQuery按需加载轮播图(web前端性能优化)
2017/02/17 Javascript
[08:38]DOTA2-DPC中国联赛 正赛 VG vs Elephant 选手采访
2021/03/11 DOTA
Python中的复制操作及copy模块中的浅拷贝与深拷贝方法
2016/07/02 Python
django数据库自动重连的方法实例
2019/07/21 Python
Python实现井字棋小游戏
2020/03/09 Python
jupyter 使用Pillow包显示图像时inline显示方式
2020/04/24 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
2020/12/03 Python
英国女性时尚品牌:Apricot
2018/12/04 全球购物
德国高尔夫商店:Par71.de
2020/11/29 全球购物
《月迹》教学反思
2014/02/19 职场文书
庆六一文艺汇演活动方案
2014/08/26 职场文书
学生个人总结范文
2015/02/15 职场文书
文言文辞职信
2015/02/28 职场文书
教师节作文之小学四年级
2019/09/03 职场文书
一篇文章搞懂python混乱的切换操作与优雅的推导式
2021/08/23 Python
python文件与路径操作神器 pathlib
2022/04/01 Python
Win10此设备不支持接收Miracast无法投影的解决方法
2022/07/07 数码科技