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中自定义函数的教程
Apr 27 Python
Python素数检测的方法
May 11 Python
tensorflow建立一个简单的神经网络的方法
Feb 10 Python
python实现的MySQL增删改查操作实例小结
Dec 19 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
Aug 27 Python
Pytorch evaluation每次运行结果不同的解决
Jan 02 Python
基于Tensorflow高阶读写教程
Feb 10 Python
Python requests设置代理的方法步骤
Feb 23 Python
使用sublime text3搭建Python编辑环境的实现
Jan 12 Python
如何用 Python 子进程关闭 Excel 自动化中的弹窗
May 07 Python
python turtle绘图命令及案例
Nov 23 Python
python中pycryto实现数据加密
Apr 29 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面向对象编程快速入门
2006/10/09 PHP
PHP实现服务器状态监控的方法
2014/12/09 PHP
解决phpcms更换javascript的幻灯片代码调用图片问题
2014/12/26 PHP
php实现读取和写入tab分割的文件
2015/06/01 PHP
PHP 传输会话curl函数的实例详解
2017/09/12 PHP
PHP PDOStatement::fetchAll讲解
2019/01/31 PHP
slice函数的用法 之不错的应用
2006/12/29 Javascript
javascript与CSS复习(《精通javascript》)
2010/06/29 Javascript
使用Math.floor与Math.random取随机整数的方法详解
2013/05/07 Javascript
javascript中不等于的代码是什么怎么写
2013/12/29 Javascript
javascript将数字转换整数金额大写的方法
2015/01/27 Javascript
Jquery中$.post和$.ajax的用法小结
2015/04/28 Javascript
常用DOM整理
2015/06/16 Javascript
关于Javascript中defer和async的区别总结
2016/09/20 Javascript
AngularJS中如何使用echart插件示例详解
2016/10/26 Javascript
Vue单页应用引用单独的样式文件的两种方式
2018/03/30 Javascript
小程序实现带年月选取效果的日历
2018/06/27 Javascript
小程序实现长按保存图片的方法
2019/12/31 Javascript
vant组件中 dialog的确认按钮的回调事件操作
2020/11/04 Javascript
利用python求相邻数的方法示例
2017/08/18 Python
对python .txt文件读取及数据处理方法总结
2018/04/23 Python
python实现扫描日志关键字的示例
2018/04/28 Python
Pandas透视表(pivot_table)详解
2019/07/22 Python
Python generator生成器和yield表达式详解
2019/08/08 Python
Python 实现OpenCV格式和PIL.Image格式互转
2020/01/09 Python
python线程优先级队列知识点总结
2021/02/28 Python
button在IE6/7下的黑边去除方案
2012/12/24 HTML / CSS
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
2012/05/30 面试题
Java语言的优势
2015/01/10 面试题
护理自荐信范文
2013/10/05 职场文书
精神文明建设先进工作者事迹材料
2014/05/02 职场文书
庆六一宣传标语
2014/10/08 职场文书
家长高考寄语
2015/02/27 职场文书
企业投资意向书
2015/05/09 职场文书
六一活动主持词
2015/06/30 职场文书
安全伴我行主题班会
2015/08/13 职场文书