如何通过Selenium在Chrome特定标签页获取单一页面性能日志?
只保留tesco.co.uk性能日志的解决方案
方法一:切换标签后清空旧日志
切换到新标签页后,先清空之前累积的性能日志,再访问目标站点,后续获取的日志就只属于tesco.co.uk。
from selenium import webdriver def get_network_logs(driver): logs = driver.get_log("performance") print(logs) return logs def switch_to_tab(driver, tab_index): handles = driver.window_handles driver.switch_to.window(handles[tab_index]) # 初始化Chrome浏览器,开启性能日志记录 options = webdriver.ChromeOptions() options.set_capability("goog:loggingPrefs", {"performance": "ALL"}) driver = webdriver.Chrome(options=options) # 访问youtube.com driver.get('https://www.youtube.com') # 打开新标签页 driver.execute_script("window.open('');") # 切换到新标签页 switch_to_tab(driver, 1) # 清空之前的性能日志(清除youtube产生的日志) driver.get_log("performance") # 访问tesco.co.uk driver.get('https://www.tesco.co.uk/') # 获取tesco的性能日志 tesco_logs = get_network_logs(driver) # 关闭浏览器 driver.quit()
方法二:过滤日志中的域名
如果需要保留所有日志但只提取tesco相关条目,可以解析每条日志的请求URL,筛选出域名包含tesco.co.uk的日志。
import json from selenium import webdriver def get_network_logs(driver): logs = driver.get_log("performance") tesco_logs = [] for log in logs: try: # 解析日志的message字段 log_msg = json.loads(log['message'])['message'] # 检查是否为网络请求日志,且URL包含tesco.co.uk if 'params' in log_msg and 'request' in log_msg['params']: request_url = log_msg['params']['request']['url'] if 'tesco.co.uk' in request_url: tesco_logs.append(log) except (KeyError, json.JSONDecodeError): # 跳过解析失败的日志 continue print(tesco_logs) return tesco_logs def switch_to_tab(driver, tab_index): handles = driver.window_handles driver.switch_to.window(handles[tab_index]) # 初始化浏览器 options = webdriver.ChromeOptions() options.set_capability("goog:loggingPrefs", {"performance": "ALL"}) driver = webdriver.Chrome(options=options) driver.get('https://www.youtube.com') driver.execute_script("window.open('');") switch_to_tab(driver, 1) driver.get('https://www.tesco.co.uk/') tesco_logs = get_network_logs(driver) driver.quit()
方法对比
- 方法一更高效,直接截断旧日志,无需额外解析操作,适合只需要目标站点日志的场景。
- 方法二更灵活,保留了所有原始日志,适合需要事后分析多站点日志的场景,但需要额外的解析逻辑。
内容的提问来源于stack exchange,提问作者Roy idiot
相关产品推荐
相关产品推荐

