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脚本将文字转换为图片的实例分享
Aug 29 Python
Python中断言Assertion的一些改进方案
Oct 27 Python
python3使用requests模块爬取页面内容的实战演练
Sep 25 Python
python 3.5实现检测路由器流量并写入txt的方法实例
Dec 17 Python
python正则表达式及使用正则表达式的例子
Jan 22 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
Jan 29 Python
python实现决策树分类(2)
Aug 30 Python
超简单使用Python换脸实例
Mar 27 Python
python matplotlib库绘制散点图例题解析
Aug 10 Python
Python中断多重循环的几种方式详解
Feb 10 Python
python获取系统内存占用信息的实例方法
Jul 17 Python
Python数据可视化之用Matplotlib绘制常用图形
Jun 03 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(3)
2006/10/09 PHP
thinkphp实现163、QQ邮箱收发邮件的方法
2015/12/18 PHP
php实现图片上传并利用ImageMagick生成缩略图
2016/03/14 PHP
php基于curl实现的股票信息查询类实例
2016/11/11 PHP
Laravel 5.4.36中session没有保存成功问题的解决
2018/02/19 PHP
php代码调试利器firephp安装与使用方法分析
2018/08/21 PHP
Alliance vs AM BO3 第一场2.13
2021/03/10 DOTA
javascript 写类方式之九
2009/07/05 Javascript
jquery的冒泡事件的阻止与允许(三种实现方法)
2013/02/01 Javascript
捕获浏览器关闭、刷新事件不同情况下的处理方法
2013/06/02 Javascript
jQuery 设置 CSS 属性示例介绍
2014/01/16 Javascript
Javascript 运动中Offset的bug解决方案
2014/12/24 Javascript
js简单实现图片延迟加载的方法
2016/07/19 Javascript
JavaScript动态检验密码强度的实现方法
2016/11/09 Javascript
javascript常用的设计模式
2017/02/09 Javascript
nodejs开发微信小程序实现密码加密
2017/07/11 NodeJs
微信小程序实现列表下拉刷新上拉加载
2020/07/29 Javascript
JavaScript复制内容到剪贴板的两种常用方法
2018/02/27 Javascript
微信公众号获取用户地理位置并列出附近的门店的示例代码
2019/07/25 Javascript
[01:23]2014DOTA2国际邀请赛 球迷无处不在Ti现场世界杯受关注
2014/07/10 DOTA
深入探究Python中变量的拷贝和作用域问题
2015/05/05 Python
Python使用functools模块中的partial函数生成偏函数
2016/07/02 Python
Pycharm学习教程(5) Python快捷键相关设置
2017/05/03 Python
python删除不需要的python文件方法
2018/04/24 Python
python 实现提取某个索引中某个时间段的数据方法
2019/02/01 Python
Python Django 页面上展示固定的页码数实现代码
2019/08/21 Python
简单了解Django ORM常用字段类型及参数配置
2020/01/07 Python
Pycharm学生免费专业版安装教程的方法步骤
2020/09/24 Python
Opencv 图片的OCR识别的实战示例
2021/03/02 Python
BSTN意大利:德国街头和运动文化高品质商店
2020/12/22 全球购物
JAVA中的关键字有什么特点
2014/03/07 面试题
艺术应用与设计专业个人的自我评价
2013/11/19 职场文书
2014全年工作总结
2014/11/27 职场文书
个人租房协议书
2014/11/28 职场文书
团员年度个人总结
2015/02/26 职场文书
预备党员介绍人意见
2015/06/01 职场文书