解决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实现人人网登录示例分享
Jan 19 Python
用Python创建声明性迷你语言的教程
Apr 13 Python
用Python进行TCP网络编程的教程
Apr 29 Python
Pycharm 实现下一个文件引用另外一个文件的方法
Jan 17 Python
springboot配置文件抽离 git管理统 配置中心详解
Sep 02 Python
学python安装的软件总结
Oct 12 Python
python-numpy-指数分布实例详解
Dec 07 Python
Django 再谈一谈json序列化
Mar 16 Python
python空元组在all中返回结果详解
Dec 15 Python
python 对xml解析的示例
Feb 27 Python
python抢购软件/插件/脚本附完整源码
Mar 04 Python
如何使用pdb进行Python调试
Jun 30 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防注入安全代码
2008/04/09 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
2017/03/31 PHP
php array 转json及java 转换 json数据格式操作示例
2019/11/13 PHP
从javascript语言本身谈项目实战
2006/12/27 Javascript
JQuery 表格操作(交替显示、拖动表格行、选择行等)
2009/07/29 Javascript
Javascript 面向对象编程(coolshell)
2012/03/18 Javascript
Js点击弹出下拉菜单效果实例
2013/08/12 Javascript
JQuery中$.ajax()方法参数详解及应用
2013/12/12 Javascript
轻松创建nodejs服务器(8):非阻塞是如何实现的
2014/12/18 NodeJs
JavaScript中的console.log()函数详细介绍
2014/12/29 Javascript
JavaScript给按钮绑定点击事件(onclick)的方法
2015/04/07 Javascript
浅谈JavaScript超时调用和间歇调用
2015/08/30 Javascript
js clearInterval()方法的定义和用法
2015/11/11 Javascript
jquery实现全选和全不选功能效果的实现代码【推荐】
2016/05/05 Javascript
ion content 滚动到底部会遮住一部分视图的快速解决方法
2016/09/06 Javascript
简单理解Vue条件渲染
2016/12/03 Javascript
Javascript中字符串replace方法的第二个参数探究
2016/12/05 Javascript
jquery中绑定事件的异同
2017/02/28 Javascript
js实现简单数字变动效果
2017/11/06 Javascript
js实现动态添加上传文件页面
2018/10/22 Javascript
vue-router结合vuex实现用户权限控制功能
2019/11/14 Javascript
python实现数通设备端口监控示例
2014/04/02 Python
记一次python 内存泄漏问题及解决过程
2018/11/29 Python
python截取两个单词之间的内容方法
2018/12/25 Python
python简单实现AES加密和解密
2019/03/28 Python
python覆盖写入,追加写入的实例
2019/06/26 Python
Python 合并多个TXT文件并统计词频的实现
2019/08/23 Python
Win10+GPU版Pytorch1.1安装的安装步骤
2019/09/27 Python
PyTorch和Keras计算模型参数的例子
2020/01/02 Python
keras-siamese用自己的数据集实现详解
2020/06/10 Python
应届护士推荐信
2013/11/16 职场文书
工作失误检讨书
2015/01/26 职场文书
2016形势与政策学习心得体会
2016/01/12 职场文书
Nginx tp3.2.3 404问题解决方案
2021/03/31 Servers
React Hook用法示例详解(6个常见hook)
2021/04/28 Javascript
详解Vue的sync修饰符
2021/05/15 Vue.js