解决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笔记(1) 关于我们应不应该继续学习python
Oct 24 Python
Python图像灰度变换及图像数组操作
Jan 27 Python
Python中str is not callable问题详解及解决办法
Feb 10 Python
运动检测ViBe算法python实现代码
Jan 09 Python
Python之ReportLab绘制条形码和二维码的实例
Jan 15 Python
Python常见工厂函数用法示例
Mar 21 Python
Django 项目重命名的实现步骤解析
Aug 14 Python
Python实现线性插值和三次样条插值的示例代码
Nov 13 Python
用python拟合等角螺线的实现示例
Dec 27 Python
Python面向对象程序设计之私有变量,私有方法原理与用法分析
Mar 23 Python
Python实现爬取并分析电商评论
Jun 19 Python
OpenCV-Python 实现两张图片自动拼接成全景图
Jun 11 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中运行Linux命令并启动SSH服务的例子
2014/06/12 PHP
解决自定义$(id)的方法与jquery选择器$冲突的问题
2014/06/14 Javascript
JS验证IP,子网掩码,网关和MAC的方法
2015/07/02 Javascript
详解Vue微信公众号开发踩坑全记录
2017/08/21 Javascript
jQuery实现点击DIV同时点击CheckBox,并为DIV上背景色的实例
2017/12/18 jQuery
Angular4 组件通讯方法大全(推荐)
2018/07/12 Javascript
详解如何在微信小程序开发中正确的使用vant ui组件
2018/09/13 Javascript
微信小程序授权登录及解密unionId出错的方法
2018/09/26 Javascript
详解如何用typescript开发koa2的二三事
2018/11/13 Javascript
记一次用vue做的活动页的方法步骤
2019/04/11 Javascript
vue配置nprogress实现页面顶部进度条
2019/09/21 Javascript
webpack的pitching loader详解
2019/09/23 Javascript
JS实现进度条动态加载特效
2020/03/25 Javascript
pyside写ui界面入门示例
2014/01/22 Python
Python greenlet实现原理和使用示例
2014/09/24 Python
关于python的bottle框架跨域请求报错问题的处理方法
2017/03/19 Python
Tornado协程在python2.7如何返回值(实现方法)
2017/06/22 Python
Python中将变量按行写入txt文本中的方法
2018/04/03 Python
让Django支持Sql Server作后端数据库的方法
2018/05/29 Python
tensorflow 获取checkpoint中的变量列表实例
2020/02/11 Python
python GUI库图形界面开发之PyQt5信号与槽基本操作
2020/02/25 Python
python实现将range()函数生成的数字存储在一个列表中
2020/04/02 Python
python如何调用字典的key
2020/05/25 Python
Python 实现将某一列设置为str类型
2020/07/14 Python
使paramiko库执行命令时在给定的时间强制退出功能的实现
2021/03/03 Python
Canvas 帧动画吃苹果小游戏
2020/08/05 HTML / CSS
英国灯具和灯泡网上商店:Lights.co.uk
2018/02/02 全球购物
介绍Java的内部类
2012/10/27 面试题
Java面试题:说出如下代码的执行结果
2015/10/30 面试题
韩语专业本科生求职信
2013/10/01 职场文书
公积金单位接收函
2014/01/11 职场文书
擅自离岗检讨书
2014/02/11 职场文书
2014年学习全国道德模范事迹思想汇报
2014/09/15 职场文书
保险公司增员口号
2015/12/25 职场文书
初中化学教学反思
2016/02/22 职场文书
2019年最新七夕唯美祝福语(60条)
2019/07/22 职场文书