Selenium(Java):如何获取Chrome开发者工具Network面板请求头数据
通过文件名检索Chrome Network面板请求头的方法
方法一:控制台直接执行脚本快速筛选
打开Chrome开发者工具(按F12或Ctrl+Shift+I)切换到Console面板,把下面代码里的目标文件名替换成你要找的文件名(比如app.js),直接运行就能拿到匹配请求的请求头:
// 替换为你要检索的文件名 const targetFileName = "目标文件名"; // 获取所有资源请求条目 const resourceEntries = performance.getEntriesByType('resource'); // 筛选匹配文件名的请求 const matchedRequests = resourceEntries.filter(entry => { const url = new URL(entry.name); const fileName = url.pathname.split('/').pop(); return fileName === targetFileName; }); // 输出匹配到的请求头 matchedRequests.forEach(req => { console.log(`匹配请求URL: ${req.name}`); console.log("请求头信息:", req.requestHeaders); });
方法二:利用Network面板自带筛选+复制
如果只是单次查看,不用写脚本更快捷:
- 切换到Network面板,打开「Preserve log」避免请求丢失
- 在顶部筛选框输入
filename:你的目标文件名,回车后会自动过滤出对应请求 - 找到目标请求右键,选择「Copy」→「Copy request headers」就能直接复制请求头内容
方法三:做DevTools扩展持久化处理(适合频繁使用)
如果需要长期用这个功能,可以写个简单的Chrome扩展,利用DevTools的Network API监听请求:
// 扩展的devtools.js文件内容 chrome.devtools.network.onRequestFinished.addListener(request => { const url = new URL(request.request.url); const fileName = url.pathname.split('/').pop(); // 替换成目标文件名 if (fileName === "目标文件名") { console.log("捕获到匹配请求的请求头:", request.request.headers); // 这里可以添加存储、导出等自定义逻辑 } });
按照Chrome扩展的规范打包后加载到浏览器,就能自动监听并输出匹配文件名的请求头。
注意:如果页面开启了严格的CSP或者请求是跨域资源,部分请求头可能无法被获取;如果要抓旧请求,记得先打开Network面板的「Preserve log」再刷新页面。
内容的提问来源于stack exchange,提问作者codename_zoe
相关产品推荐
相关产品推荐

