python3+selenium獲取頁(yè)面加載的所有靜態(tài)資源文件鏈接操作
軟件版本:
python 3.7.2
selenium 3.141.0
pycharm 2018.3.5
具體實(shí)現(xiàn)流程如下,廢話不多說(shuō),直接上代碼:
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()
#使用無(wú)頭瀏覽器
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')
#瀏覽器啟動(dòng)默認(rèn)最大化
chrome_options.add_argument("--start-maximized");
#該處替換自己的chrome驅(qū)動(dòng)地址
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")
#靜態(tài)資源鏈接存儲(chǔ)集合
urls = []
#獲取靜態(tài)資源有效鏈接
for log in browser.get_log('performance'):
if 'message' not in log:
continue
log_entry = json.loads(log['message'])
try:
#該處過(guò)濾了data:開(kāi)頭的base64編碼引用和document頁(yè)面鏈接
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)
打印結(jié)果為頁(yè)面渲染時(shí)加載的靜態(tài)資源文件鏈接:
[http://www.xxx.com/aaa.js,http://www.xxx.com/css.css]
以上代碼為selenium獲取頁(yè)面加載過(guò)程中預(yù)加載的各類靜態(tài)資源文件鏈接,使用該功能獲取到鏈接后,使用其他插件進(jìn)行可對(duì)資源進(jìn)行下載!
補(bǔ)充知識(shí):在idea 中python import sys,import requests 報(bào)錯(cuò)
File->Project Structure
project -> sdk -> new -> ok
設(shè)置編譯參數(shù)(主要是設(shè)置和檢查Python JDK是否正確)

以上這篇python3+selenium獲取頁(yè)面加載的所有靜態(tài)資源文件鏈接操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Python實(shí)現(xiàn)從文件中加載數(shù)據(jù)的方法詳解
- Python 保存加載mat格式文件的示例代碼
- python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5動(dòng)態(tài)加載QSS樣式文件
- 解決Python 使用h5py加載文件,看不到keys()的問(wèn)題
- python用pandas數(shù)據(jù)加載、存儲(chǔ)與文件格式的實(shí)例
- Python加載帶有注釋的Json文件實(shí)例
- Python實(shí)現(xiàn)加載及解析properties配置文件的方法
- python web基礎(chǔ)之加載靜態(tài)文件實(shí)例
- python:關(guān)于文件加載及處理方式
相關(guān)文章
基于Python實(shí)現(xiàn)繪制一個(gè)足球
這篇文章主要為大家詳細(xì)介紹了如何基于Python實(shí)現(xiàn)繪制一個(gè)簡(jiǎn)單的足球,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的可以嘗試一下2023-02-02
在VScode中配置Python開(kāi)發(fā)環(huán)境的超詳細(xì)指南
在使用VSCode編寫(xiě)Python代碼前,我們需要先配置Python環(huán)境,這篇文章主要給大家介紹了關(guān)于在VScode中配置Python開(kāi)發(fā)環(huán)境的相關(guān)資料,需要的朋友可以參考下2023-12-12
使用pandas讀取表格數(shù)據(jù)并進(jìn)行單行數(shù)據(jù)拼接的詳細(xì)教程
這篇文章主要介紹了使用pandas讀取表格數(shù)據(jù)并進(jìn)行單行數(shù)據(jù)拼接的詳細(xì)教程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
PyQt5 designer 頁(yè)面點(diǎn)擊按鈕跳轉(zhuǎn)頁(yè)面實(shí)現(xiàn)
本文主要介紹了PyQt5 designer 頁(yè)面點(diǎn)擊按鈕跳轉(zhuǎn)頁(yè)面實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
淺談Python由__dict__和dir()引發(fā)的一些思考
這篇文章主要介紹了淺談Python由__dict__和dir()引發(fā)的一些思考,具有一定參考價(jià)值,需要的朋友可以了解下。2017-10-10
PIP安裝python包出現(xiàn)超時(shí)問(wèn)題的解決
這篇文章主要介紹了PIP安裝python包出現(xiàn)超時(shí)問(wèn)題的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03

