python3+selenium获取页面加载的所有静态资源文件链接操作


Posted in Python onMay 04, 2020

软件版本:

python 3.7.2

selenium 3.141.0

pycharm 2018.3.5

具体实现流程如下,废话不多说,直接上代码:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

d = DesiredCapabilities.CHROME
chrome_options = Options()
#使用无头浏览器
chrome_options.add_argument('--headless')
chrome_options.add_argument('--user-agent=Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36')
#浏览器启动默认最大化
chrome_options.add_argument("--start-maximized");
#该处替换自己的chrome驱动地址
browser = webdriver.Chrome("D://googleDever//chromedriver.exe",chrome_options=chrome_options,desired_capabilities=d)
browser.set_page_load_timeout(150)
browser.get("https://www.xxx.com")
#静态资源链接存储集合
urls = []
#获取静态资源有效链接
for log in browser.get_log('performance'):
	 if 'message' not in log:
			continue
	 log_entry = json.loads(log['message'])
	 try:
		#该处过滤了data:开头的base64编码引用和document页面链接
			if "data:" not in log_entry['message']['params']['request']['url'] and 'Document' not in log_entry['message']['params']['type']:
				urls.append(log_entry['message']['params']['request']['url'])
	 except Exception as e:
			pass
 print(urls)

打印结果为页面渲染时加载的静态资源文件链接:

[http://www.xxx.com/aaa.js,http://www.xxx.com/css.css]

以上代码为selenium获取页面加载过程中预加载的各类静态资源文件链接,使用该功能获取到链接后,使用其他插件进行可对资源进行下载!

补充知识:在idea 中python import sys,import requests 报错

File->Project Structure

project -> sdk -> new -> ok

设置编译参数(主要是设置和检查Python JDK是否正确)

python3+selenium获取页面加载的所有静态资源文件链接操作

以上这篇python3+selenium获取页面加载的所有静态资源文件链接操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用Python判断IP地址合法性的方法实例
Mar 13 Python
Python中比较特别的除法运算和幂运算介绍
Apr 05 Python
使用Python的Treq on Twisted来进行HTTP压力测试
Apr 16 Python
Python松散正则表达式用法分析
Apr 29 Python
python2.7 json 转换日期的处理的示例
Mar 07 Python
python获取指定字符串中重复模式最高的字符串方法
Jun 29 Python
Python高斯消除矩阵
Jan 02 Python
python实现彩色图转换成灰度图
Jan 15 Python
python redis 删除key脚本的实例
Feb 19 Python
Python读取xlsx文件的实现方法
Jul 04 Python
你还在@微信官方?聊聊Python生成你想要的微信头像
Sep 25 Python
python实现商品进销存管理系统
May 30 Python
解决IDEA 的 plugins 搜不到任何的插件问题
May 04 #Python
python3 sleep 延时秒 毫秒实例
May 04 #Python
Python并发concurrent.futures和asyncio实例
May 04 #Python
Python 中由 yield 实现异步操作
May 04 #Python
python 双循环遍历list 变量判断代码
May 04 #Python
Python求解排列中的逆序数个数实例
May 03 #Python
Python3实现个位数字和十位数字对调, 其乘积不变
May 03 #Python
You might like
解决php接收shell返回的结果中文乱码问题
2014/01/23 PHP
php中array_multisort对多维数组排序的方法
2020/06/21 PHP
最新最全PHP生成制作验证码代码详解(推荐)
2016/06/12 PHP
利用Laravel生成Gravatar头像地址的优雅方法
2017/12/30 PHP
yii框架使用分页的方法分析
2019/07/25 PHP
JavaScript库 开发规则
2009/01/31 Javascript
JavaScript对象和字串之间的转换实例探讨
2013/04/21 Javascript
基于jQuery实现的旋转彩圈实例
2015/06/26 Javascript
jQuery实现提示密码强度的代码
2015/07/15 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(一)
2017/01/21 Javascript
node.js实现回调的方法示例
2017/03/01 Javascript
详解React项目中碰到的IE问题
2019/03/14 Javascript
详解从vue-loader源码分析CSS Scoped的实现
2019/09/23 Javascript
vue实现一个获取按键展示快捷键效果的Input组件
2021/01/13 Vue.js
[01:20]DOTA2 2017国际邀请赛冠军之路无止竞
2017/06/19 DOTA
[01:57]2018DOTA2亚洲邀请赛赛前采访-iG
2018/04/03 DOTA
[01:04:08]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第一场 12.16
2020/12/18 DOTA
Python数据类型详解(三)元祖:tuple
2016/05/08 Python
Pycharm学习教程(2) 代码风格
2017/05/02 Python
python绘制条形图方法代码详解
2017/12/19 Python
使用Python微信库itchat获得好友和群组已撤回的消息
2018/06/24 Python
python tkinter窗口最大化的实现
2019/07/15 Python
Flask框架钩子函数功能与用法分析
2019/08/02 Python
windows支持哪个版本的python
2020/07/03 Python
python定时截屏实现
2020/11/02 Python
CSS3制作圆角图片和椭圆形图片
2016/07/08 HTML / CSS
一套SQL笔试题
2016/08/14 面试题
与C++相比,Java中的数组有什么不同
2014/03/25 面试题
竞选班长演讲稿
2013/12/30 职场文书
建筑工程专业大学生求职信
2014/04/23 职场文书
房地产推广策划方案
2014/05/19 职场文书
乡镇综治宣传月活动总结
2014/07/02 职场文书
领导干部个人整改措施落实情况汇报
2014/10/29 职场文书
小学班长竞选稿
2015/11/20 职场文书
2016清明节森林防火广播稿
2015/12/17 职场文书
Spring Security使用单点登录的权限功能
2022/04/03 Java/Android