通过selenium的Chrome查看网络请求,包含Ajax、图片、CSS等,需要开启performance。
import json
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
d = DesiredCapabilities.CHROME.copy()
list_url = "https://xx"
# 打开performance
d['loggingPrefs'] = {'performance': 'ALL'}
chrome_options = Options()
# 无头
# chrome_options.set_headless()
# 禁用GPU
# chrome_options.add_argument('--disable-gpu')
# 禁用提示栏
chrome_options.add_argument("disable-infobars")
chrome_options.add_experimental_option('perfLoggingPrefs', {'enableNetwork': True})
driver = webdriver.Chrome(desired_capabilities=d, options=chrome_options)
driver.get(list_url)
# 获取performance
logs = driver.get_log('performance')
logs.reverse()
for log in logs:
if log.get('message'):
message_dict = json.loads(log.get('message'))
print(message_dict)
driver.close()