Python使用seleniumwire接管Chrome查看控制台中参数

1、cmd打开控制台,启动谷歌并制定端口号,找不到文件的加环境变量

bash 复制代码
chrome.exe --remote-debugging-port=9222

2、获取F12控制台中接口参数

python 复制代码
from selenium.webdriver.chrome.service import Service
from seleniumwire import webdriver

chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
chrome_options.set_capability("browserName", 'chrome')
chrome_options.set_capability("goog:chromeOptions", {'perfLoggingPrefs': {'enableNetwork': True}, 'w3c': False})
chrome_options.set_capability("goog:loggingPrefs", {"performance": "ALL"})
service = Service(executable_path='D:\crack-plugin\chromedriver-win64\chromedriver.exe')
driver = webdriver.Chrome(service=service, options=chrome_options)
driver.get("https://example.com")
print("已监听到网页,名称为:" + driver.title)
performance_log = driver.get_log('performance')
authorization = None
print(authorization)

3、如果需要获取针对性的参数,比如header中的登录令牌Bearer Token的话,进行针对性的写法即可

python 复制代码
for log in performance_log:
        if "Authorization" in log['message']:
            message = json.loads(log['message'])
            if "Network.requestWillBeSentExtraInfo" == message['message']['method']:
                bearer = message['message']['params']['headers']['Authorization']
                authorization = bearer
                print("获取到登录令牌:" + bearer)
相关推荐
2401_89807512几秒前
Python在金融科技(FinTech)中的应用
jvm·数据库·python
老师好,我是刘同学26 分钟前
选择排序原理与Python实现
python·排序算法
wmfglpz8836 分钟前
NumPy入门:高性能科学计算的基础
jvm·数据库·python
如若1231 小时前
WSL2安装Ubuntu完整教程:自定义安装目录到D盘(--location一键搞定)
linux·运维·服务器·pytorch·python·ubuntu·计算机视觉
@fai1 小时前
【Python多线程截图】当 Python 多线程遇上底层 C 库——一次由“串图”引发的线程安全深度思考
python·opencv·numpy
alvin_20052 小时前
python之OpenGL应用(五)变换
python·opengl
深蓝电商API2 小时前
服务器部署爬虫:Supervisor 进程守护
爬虫·python
是梦终空1162 小时前
Python深度学习入门:TensorFlow 2.0/Keras实战
jvm·数据库·python
竹林8182 小时前
用Python requests搞定Cookie登录,我绕过了三个大坑才成功
爬虫·python·自动化运维
MIXLLRED2 小时前
Python模块详解(一)—— socket 和 threading 模块
开发语言·python·socket·threading