解决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 19 Python
详解Python多线程
Nov 14 Python
Python常见工厂函数用法示例
Mar 21 Python
Python堆排序原理与实现方法详解
May 11 Python
python实现时间o(1)的最小栈的实例代码
Jul 23 Python
python3去掉string中的标点符号方法
Jan 22 Python
Python3列表内置方法大全及示例代码小结
May 10 Python
Pandas读取csv时如何设置列名
Jun 02 Python
浅析Python面向对象编程
Jul 10 Python
python与js主要区别点总结
Sep 13 Python
Python gevent协程切换实现详解
Sep 14 Python
用Python仅20行代码编写一个简单的端口扫描器
Apr 08 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
通过html表格发电子邮件
2006/10/09 PHP
PHP序列号生成函数和字符串替换函数代码
2012/06/07 PHP
PHP通过插入mysql数据来实现多机互锁实例
2014/11/05 PHP
php创建和删除目录函数介绍和递归删除目录函数分享
2014/11/18 PHP
如何解决PHP使用mysql_query查询超大结果集超内存问题
2016/03/14 PHP
图片放大镜jquery.jqzoom.js使用实例附放大镜图标
2014/06/19 Javascript
用Jquery选择器计算table中的某一列某一行的合计
2014/08/13 Javascript
JavaScript简介
2015/02/15 Javascript
js和jquery中获取非行间样式
2017/05/05 jQuery
Angularjs上传文件组件flowjs功能
2017/08/07 Javascript
基于Fixed定位的框选功能的实现代码
2019/05/13 Javascript
微信小程序点击顶部导航栏切换样式代码实例
2019/11/12 Javascript
Vue父组件监听子组件生命周期
2020/09/03 Javascript
javascript实现点击产生随机图形
2021/01/25 Javascript
[14:03]2017DOTA2亚洲邀请赛开幕式:12神兵演绎水墨中华
2017/04/01 DOTA
Python 元类使用说明
2009/12/18 Python
讲解python参数和作用域的使用
2013/11/01 Python
python脚本实现查找webshell的方法
2014/07/31 Python
Python字符串和文件操作常用函数分析
2015/04/08 Python
初探TensorFLow从文件读取图片的四种方式
2018/02/06 Python
基于python批量处理dat文件及科学计算方法详解
2018/05/08 Python
详解Python中的分组函数groupby和itertools)
2018/07/11 Python
python 用for循环实现1~n求和的实例
2019/02/01 Python
python爬取cnvd漏洞库信息的实例
2019/02/14 Python
python 实现在tkinter中动态显示label图片的方法
2019/06/13 Python
python同步两个文件夹下的内容
2019/08/29 Python
Django框架创建项目的方法入门教程
2019/11/04 Python
Python预测2020高考分数和录取情况
2020/07/08 Python
Linux安装Python3如何和系统自带的Python2并存
2020/07/23 Python
python程序实现BTC(比特币)挖矿的完整代码
2021/01/20 Python
体育教师工作总结的自我评价
2013/10/10 职场文书
最新大学毕业求职简历的自我评价
2013/10/18 职场文书
文秘专业应届生求职信
2014/05/26 职场文书
专家推荐信怎么写
2015/03/25 职场文书
Win11怎样将锁屏账户头像图片改成动画视频
2021/11/21 数码科技
Python中tqdm的使用和例子
2022/09/23 Python