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批量重命名同一文件夹下文件的方法
May 25 Python
Python使用SocketServer模块编写基本服务器程序的教程
Jul 12 Python
Python内置函数delattr的具体用法
Nov 23 Python
Python3.6简单反射操作示例
Jun 14 Python
在python中bool函数的取值方法
Nov 01 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
Apr 28 Python
pytorch中的自定义数据处理详解
Jan 06 Python
使用pytorch和torchtext进行文本分类的实例
Jan 08 Python
Python字符串hashlib加密模块使用案例
Mar 10 Python
python实现爱奇艺登陆密码RSA加密的方法示例详解
May 27 Python
用python实现名片管理系统
Jun 18 Python
Python操作Elasticsearch处理timeout超时
Jul 17 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+jquery实时显示网站在线人数的方法
2015/01/04 PHP
php in_array() 检查数组中是否存在某个值详解
2016/11/23 PHP
CSS中一些@规则的用法小结
2021/03/09 HTML / CSS
javascript开发随笔一 preventDefault的必要
2011/11/25 Javascript
用js来获取上传的文件名纯粹是为了美化而用
2013/10/23 Javascript
JS判断变量是否为空判断是否null
2014/07/25 Javascript
15个jquery常用方法、小技巧分享
2015/01/13 Javascript
JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法
2016/08/05 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
jQuery使用$获取对象后检查该对象是否存在的实现方法
2016/09/04 Javascript
Jquery给当前页或者跳转后页面的导航栏添加选中后样式的实例
2016/12/08 Javascript
AngularJS ui-router (嵌套路由)实例
2017/03/10 Javascript
关于jQuery.ajax()的jsonp碰上post详解
2017/07/02 jQuery
JS实现简单表格排序操作示例
2017/10/07 Javascript
WebSocket的通信过程与实现方法详解
2018/04/29 Javascript
nodejs aes 加解密实例
2018/10/10 NodeJs
[01:38]2018DOTA2亚洲邀请赛主赛事第二日现场采访 神秘商人痛陈生计不易
2018/04/05 DOTA
Python计算程序运行时间的方法
2014/12/13 Python
在Python的Django框架中使用通用视图的方法
2015/07/21 Python
Django 导出项目依赖库到 requirements.txt过程解析
2019/08/23 Python
Python打包工具PyInstaller的安装与pycharm配置支持PyInstaller详细方法
2020/02/27 Python
Python selenium键盘鼠标事件实现过程详解
2020/07/28 Python
如何将anaconda安装配置的mmdetection环境离线拷贝到另一台电脑
2020/10/15 Python
CSS3制作气泡对话框的实例教程
2016/05/10 HTML / CSS
美国皮靴公司自1863年:The Frye Company
2016/11/30 全球购物
管理科学大学生求职信
2013/11/13 职场文书
教师暑期培训感言
2014/08/15 职场文书
个人自我剖析材料
2014/09/30 职场文书
慰问信格式
2015/02/14 职场文书
绿里奇迹观后感
2015/06/15 职场文书
同意报考证明
2015/06/17 职场文书
小学班主任教育随笔
2015/08/15 职场文书
因个人工作失误检讨书
2019/06/21 职场文书
导游词之开封禹王台风景区
2019/12/02 职场文书
一篇文章带你搞懂Python类的相关知识
2021/05/20 Python
python自动化测试通过日志3分钟定位bug
2021/11/20 Python