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 相关文章推荐
python3大文件解压和基本操作
Dec 15 Python
python获取代理IP的实例分享
May 07 Python
PHP实现发送和接收JSON请求
Jun 07 Python
浅谈python3.x pool.map()方法的实质
Jan 16 Python
python tkinter canvas 显示图片的示例
Jun 13 Python
Tensorflow模型实现预测或识别单张图片
Jul 19 Python
django项目用higcharts统计最近七天文章点击量
Aug 17 Python
Python3和PyCharm安装与环境配置【图文教程】
Feb 14 Python
parser.add_argument中的action使用
Apr 20 Python
Python迭代器协议及for循环工作机制详解
Jul 14 Python
Python Pygame实现俄罗斯方块
Feb 19 Python
python+opencv实现视频抽帧示例代码
Jun 11 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
WINDOWS 2000下使用ISAPI方式安装PHP
2006/09/05 PHP
PHP 图片上传实现代码 带详细注释
2010/04/29 PHP
CI框架AR操作(数组形式)实现插入多条sql数据的方法
2016/05/18 PHP
一直复略了的一个问题,关于表单重复提交
2007/02/15 Javascript
关于javascript 回调函数中变量作用域的讨论
2009/09/11 Javascript
jquery中输入验证中一个不错的效果
2010/08/21 Javascript
JavaScript高级程序设计(第3版)学习笔记13 ECMAScript5新特性
2012/10/11 Javascript
AngularJS iframe跨域打开内容时报错误的解决办法
2015/01/26 Javascript
深入理解js数组的sort排序
2016/05/28 Javascript
微信小程序 特效菜单抽屉效果实例代码
2017/01/11 Javascript
jquery表单验证插件validation使用方法详解
2017/01/20 Javascript
详解AngularJs ui-router 路由的简单介绍
2017/04/26 Javascript
微信小程序中多个页面传参通信的学习与实践
2017/05/05 Javascript
10个在JavaScript开发中常遇到的BUG
2017/12/18 Javascript
jquery+css3实现熊猫tv导航代码分享
2018/02/12 jQuery
新手必须知的Node.js 4个JavaScript基本概念
2018/09/16 Javascript
vue项目中跳转到外部链接的实例讲解
2018/09/20 Javascript
基于VUE实现的九宫格抽奖功能
2018/09/30 Javascript
javascript数组的定义及操作实例
2019/11/10 Javascript
vscode 调试 node.js的方法步骤
2020/09/15 Javascript
vue router返回到指定的路由的场景分析
2020/11/10 Javascript
Python常见数据结构详解
2014/07/24 Python
Python字符串处理函数简明总结
2015/04/13 Python
Python 文件处理注意事项总结
2017/04/10 Python
python 与服务器的共享文件夹交互方法
2018/12/27 Python
Python利用heapq实现一个优先级队列的方法
2019/02/03 Python
python orm 框架中sqlalchemy用法实例详解
2020/02/02 Python
python实现udp传输图片功能
2020/03/20 Python
Django调用百度AI接口实现人脸注册登录代码实例
2020/04/23 Python
通过实例了解python__slots__使用方法
2020/09/14 Python
python闭包与引用以及需要注意的陷阱
2020/09/18 Python
CSS3实现苹果手机解锁的字体闪亮效果示例
2021/01/05 HTML / CSS
比较基础的php面试题及答案-编程题
2012/10/14 面试题
2015年基层党支部工作总结
2015/05/21 职场文书
mysql事务隔离级别详情
2021/10/24 MySQL
聊聊SpringBoot自动装配的魔力
2021/11/17 Java/Android