解决Python selenium get页面很慢时的问题
作者:支持中文丶英文丶数字丨 时间:2022-08-29 02:08:22
driver.get("url")等到页面全部加载渲染完成后才会执行后续的脚本。
在执行脚本时,driver.get("url") ,如果当前的url页面内容较多加载特别慢,很费时间,但是我们需要操作的元素已经加载出来,可以将页面加载停掉,不影响后面的脚本执行,解决办法
设置页面加载timeout,get操作: try get except 脚本window.stop(), 使用GeckoDriver上有效果,
但是在ChromeDriver上还是会有问题,抛出异常timeout后续脚本不会继续执行
GeckoDriver执行具体如下:
访问百度贴吧某个获取其帖子总页数:
可以通过两种方式获取,简单的就是直接定位元素共11页
代码用定位尾页获取总页数
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)
来源:https://blog.csdn.net/dance117/article/details/80912489
标签:Python,selenium,get
0
投稿
猜你喜欢
vue中typescript装饰器的使用方法超实用教程
2024-05-28 15:47:06
asp如何让页面过时并指定一个过时时间?
2010-05-13 16:40:00
Python enumerate索引迭代代码解析
2022-04-05 17:13:07
如何正确的解决 MySQL中忽略用户的现象
2008-11-27 16:00:00
python密码错误三次锁定(实例讲解)
2022-03-02 07:51:23
python简单获取本机计算机名和IP地址的方法
2021-04-18 01:46:16
MySQL SQL 语法参考
2024-01-17 15:50:05
Python如何在DataFrame增加数值
2021-07-23 12:56:29
分析Mysql大量数据导入遇到的问题以及解决方案
2024-01-23 19:10:08
python实现网页录音效果
2022-03-19 08:07:15
有时应该告诉我,但有时不应该告诉我
2009-03-19 13:40:00
Python单例模式的两种实现方法
2023-03-03 12:31:09
介绍讲解MySQL安装下载登录
2010-10-25 20:34:00
交互设计实用指南系列(8)—深广度平衡
2010-02-01 12:59:00
C#使用ODBC与OLEDB连接数据库的方法示例
2024-01-12 17:41:41
Yii框架登录流程分析
2024-05-11 09:19:43
Javascript 同时提交多个Web表单的方法
2024-04-19 10:06:45
python基于celery实现异步任务周期任务定时任务
2021-06-14 05:20:26
关于搜索建议的两点小问题
2011-09-16 20:15:29
python爬取梨视频生活板块最热视频
2023-12-30 09:38:56