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之大话题小函数(1)
Oct 10 Python
全面了解Python环境配置及项目建立
Jun 30 Python
python多进程和多线程究竟谁更快(详解)
May 29 Python
Python引用传值概念与用法实例小结
Oct 07 Python
详解Django之admin组件的使用和源码剖析
May 04 Python
Windows 64位下python3安装nltk模块
Sep 19 Python
解决Python3 被PHP程序调用执行返回乱码的问题
Feb 16 Python
python3操作注册表的方法(Url protocol)
Feb 05 Python
Python文件读写w+和r+区别解析
Mar 26 Python
python 读取yaml文件的两种方法(在unittest中使用)
Dec 01 Python
Python 数据分析之逐块读取文本的实现
Dec 14 Python
python运行脚本文件的三种方法实例
Jun 25 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代码
2007/03/08 PHP
php中过滤非法字符的具体实现
2013/10/29 PHP
PHP动态编译出现Cannot find autoconf的解决方法
2014/11/05 PHP
php中mt_rand()随机数函数用法
2014/11/24 PHP
php中$_POST与php://input的区别实例分析
2015/01/07 PHP
如何使用PHP Embed SAPI实现Opcodes查看器
2015/11/10 PHP
JS获得URL超链接的参数值实例代码
2013/06/21 Javascript
jquery对象和javascript对象即DOM对象相互转换
2014/08/07 Javascript
JavaScript的类型、值和变量小结
2015/07/09 Javascript
实例讲解JS中setTimeout()的用法
2016/01/28 Javascript
JS通过调用微信API实现微信支付功能的方法示例
2017/06/29 Javascript
JS中判断某个字符串是否包含另一个字符串的五种方法
2018/05/03 Javascript
在vue中使用Echarts画曲线图的示例
2020/10/03 Javascript
[02:32]“虐狗”镜头慎点 2016国际邀请赛中国区预选赛现场玩家采访
2016/06/28 DOTA
[56:14]Fnatic vs OG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[01:12:53]完美世界DOTA2联赛PWL S2 Forest vs SZ 第一场 11.25
2020/11/26 DOTA
python检查指定文件是否存在的方法
2015/07/06 Python
Python Queue模块详细介绍及实例
2016/12/27 Python
python常见排序算法基础教程
2017/04/13 Python
浅谈python中对于json写入txt文件的编码问题
2018/06/07 Python
python 移动图片到另外一个文件夹的实例
2019/01/10 Python
python游戏开发之视频转彩色字符动画
2019/04/26 Python
Anaconda之conda常用命令介绍(安装、更新、删除)
2019/10/06 Python
python numpy 反转 reverse示例
2019/12/04 Python
python代码能做成软件吗
2020/07/24 Python
用css3制作纸张效果(外翻卷角)
2013/02/01 HTML / CSS
海信商城:海信电视、科龙空调、容声冰箱官方专卖
2017/02/07 全球购物
Hotels.com台湾:饭店订房网
2017/09/06 全球购物
美国健康和保健平台:healtop
2020/07/02 全球购物
机电专业毕业生推荐信
2013/11/10 职场文书
质检员岗位职责
2013/12/17 职场文书
法人委托书范本
2014/04/04 职场文书
我爱读书演讲稿
2014/05/07 职场文书
结婚仪式主持词
2015/06/29 职场文书
CSS 实现多彩、智能的阴影效果
2021/05/12 HTML / CSS
基于Redis6.2.6版本部署Redis Cluster集群的问题
2022/04/01 Redis