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回调函数用法实例详解
Jul 02 Python
简单谈谈Python中的几种常见的数据类型
Feb 10 Python
Python+Selenium自动化实现分页(pagination)处理
Mar 31 Python
Python守护线程用法实例
Jun 23 Python
Django中的ajax请求
Oct 19 Python
Python获取好友地区分布及好友性别分布情况代码详解
Jul 10 Python
基于python的itchat库实现微信聊天机器人(推荐)
Oct 29 Python
修改Pandas的行或列的名字(重命名)
Dec 18 Python
Django 项目通过加载不同env文件来区分不同环境
Feb 17 Python
一文解决django 2.2与mysql兼容性问题
Jul 15 Python
如何利用python和DOS获取wifi密码
Mar 31 Python
Pytorch 如何加速Dataloader提升数据读取速度
May 28 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 Class&Object -- PHP 自排序二叉树的深入解析
2013/06/25 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
PHP设计模式之数据访问对象模式(DAO)原理与用法实例分析
2019/12/12 PHP
前端开发必须知道的JS之原型和继承
2010/07/06 Javascript
用js实现的模拟jquery的animate自定义动画(2.5K)
2010/07/20 Javascript
js操作iframe的一些方法介绍
2013/06/25 Javascript
写得不错的jquery table鼠标经过变色代码
2013/09/27 Javascript
jquery实现将获取的颜色值转换为十六进制形式的方法
2014/12/20 Javascript
用JavaScript实现PHP的urlencode与urldecode函数
2015/08/13 Javascript
基于BootStrap Metronic开发框架经验小结【二】列表分页处理和插件JSTree的使用
2016/05/12 Javascript
分享jQuery网页元素拖拽插件
2020/12/01 Javascript
js实现扫雷小程序的示例代码
2017/09/27 Javascript
JavaScript事件对象深入详解
2018/12/30 Javascript
vue 源码解析之虚拟Dom-render
2019/08/26 Javascript
[01:15:29]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第三局
2016/03/04 DOTA
web.py在模板中输出美元符号的方法
2014/08/26 Python
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
2017/06/20 Python
攻击者是如何将PHP Phar包伪装成图像以绕过文件类型检测的(推荐)
2018/10/11 Python
python3 正则表达式基础廖雪峰
2020/03/25 Python
python两个list[]相加的实现方法
2020/09/23 Python
详解Anaconda安装tensorflow报错问题解决方法
2020/11/01 Python
阿联酋航空假期:Emirates Holidays
2018/03/20 全球购物
益模软件Java笔试题
2012/03/27 面试题
家长给孩子的表扬信
2014/01/17 职场文书
感恩节活动方案
2014/01/27 职场文书
欢送退休感言
2014/02/08 职场文书
群众路线教育实践活动心得体会
2014/03/07 职场文书
2014年文艺部工作总结
2014/11/17 职场文书
给老婆的道歉信
2015/01/20 职场文书
兵马俑的导游词
2015/02/02 职场文书
求职推荐信范文
2015/03/27 职场文书
欢迎新生标语2015
2015/07/16 职场文书
运动会5000米加油稿
2015/07/21 职场文书
2016年小学“我们的节日·中秋节”活动总结
2016/04/05 职场文书
公司财务制度:成本管理控制制度模板
2019/11/19 职场文书
python程序的组织结构详解
2021/12/06 Python