问题标签 [har]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Selenium 使用 HAR Export xpi 读取网络数据
我正在使用 HAR Export XPI 来获取使用 selenium 遍历的页面的网络流量。我正在将 XPI 添加到 ffv46(因为无法将 XPI 添加到最新的 ff 浏览器)。我使用了下面提到的配置文件设置 -
我正在注入以下 javascript 来获取 HAR 文件。
但是没有生成 HAR 文件。有什么我想念的吗。此外,如果我尝试在 FF 控制台中键入 HAR,我会收到未定义的消息,这会导致函数失败。
是否还有其他我缺少的设置。
提前致谢 !!!!
browsermob-proxy - 如何让 browsermob-proxy 记录所有响应主体
我在使用 browsermob-proxy 及其 har 导出功能时遇到问题。未记录某些响应正文(缺少整个“文本”字段)
我的设置(使用 browsermob-proxy 2.1.4)
curl -X POST http://localhost:8080/proxy?port=9091
curl -X PUT "http://localhost:8080/proxy/9091/har?captureHeaders=true&captureCookies=true&captureContent=true"
一些回应很好:
"response": {
"status": 201,
"statusText": "Created",
"httpVersion": "HTTP/1.1",
"cookies": [],
"headers": [{
"name": "Cache-Control",
"value": "max-age=0, no-cache, no-store"
}, {
"name": "Content-Type",
"value": "application/json"
}, {
"name": "Date",
"value": "Thu, 15 Feb 2018 13:07:39 GMT"
}, {
"name": "Location",
"value": ...
}, {
"name": "Pragma",
"value": "no-cache"
}, {
"name": "Render-Time",
"value": "8"
}, {
"name": "Server",
"value": "openresty"
}, {
"name": "Strict-Transport-Security",
"value": "max-age=31536000; includeSubDomains"
}, {
"name": "transfer-encoding",
"value": "chunked"
}, {
"name": "Connection",
"value": "keep-alive"
}],
"content": {
"size": 8607,
"mimeType": "application/json",
"text": "{ <actual json body> }",
"comment": ""
}, ...
但有些不是(可能是特殊的内容/mime 类型?或者可能是 gzip 内容编码?)
"response": {
"status": 200,
"statusText": "OK",
"httpVersion": "HTTP/1.1",
"cookies": [],
"headers": [{
"name": "Cache-Control",
"value": "max-age=0, no-cache, no-store"
}, {
"name": "Content-Encoding",
"value": "gzip"
}, {
"name": "Content-Type",
"value": "application/some.custom.type-v1+json"
}, {
"name": "Date",
"value": "Thu, 15 Feb 2018 13:07:39 GMT"
}, {
"name": "Pragma",
"value": "no-cache"
}, {
"name": "Render-Time",
"value": "92"
}, {
"name": "Server",
"value": "openresty"
}, {
"name": "Strict-Transport-Security",
"value": "max-age=31536000; includeSubDomains"
}, {
"name": "Vary",
"value": "Accept-Encoding"
}, {
"name": "Content-Length",
"value": "1978"
}, {
"name": "Connection",
"value": "keep-alive"
}],
"content": {
"size": 7429,
"mimeType": "application/some.custom.type-v1+json",
"comment": ""
< there's nothing else here!! >
},
"redirectURL": "",
"headersSize": 444,
"bodySize": 1978,
"comment": ""
}, ...
哦,是的,两个请求都通过 https,使用 MITM。
http - JMeter可以支持HTTP方法CONNECT吗
HTTP 方法 CONNECT是可用 HTTP 方法的一部分,
在 Fiddler 中也保存了 HTTP CONNECT,可以导出为 HAR 格式,然后转换为 JMeter 脚本,
在 JMeter 中,那些HTTP 请求失败,例如请求CONNECT http://graph.facebook.com:443/
出现以下错误:
HTTP 请求组件中未提及 CONNECT:
GET、POST、HEAD、TRACE、OPTIONS、PUT、DELETE、PATCH(不支持 JAVA 实现)。使用 HttpClient4,还允许以下与 WebDav 相关的方法:COPY、LOCK、MKCOL、MOVE、PROPFIND、PROPPATCH、UNLOCK、REPORT、MKCALENDAR、SEARCH。
可以在 JMeter 中执行 CONNECT 方法吗?如果不是什么可以解决?更改为其他方法或仅从脚本中删除这些请求?
编辑
我在 HTTP 原始请求中也未能执行类似的 CONNECT 方法。错误:Response message: java.nio.channels.AsynchronousCloseException
或java.net.ConnectException: Connection refused: connect
我也未能更改为 GET 或 https 协议。
google-chrome - 我得到一个 .har 的空文件
我总是能够生成一个 .har 文件来帮助开发人员解决问题。但最近我得到了一个空文件!PS我使用Chrome。
python - 如何在 Python 中从 selenium webdriver 获取所有请求
我正在尝试构建一个自动化工具来验证 Web 分析标签的实现。我正在使用 Python 3 + Selenium 和 PhantomJS 来自动浏览和收集正在触发的标签。我正在使用下面的代码来抓取网页并获取包含所有请求的 har 日志,类似于 Google Chrome 中的网络选项卡所做的。问题是,对于某些网站,它运行良好,我可以看到 google-analytics.com/collect? 来电。对于其他人,我可以在 Google Chrome 网络选项卡上看到它,但我的爬虫不会注册它。我确定我正在等待页面加载,但它仍然无法正常工作。
我在其中找到分析/收集的示例页面?在 har 日志中调用: https ://www.stackoverflow.com
我找不到分析/收集的页面示例?调用 har 日志,但在 chrome 网络选项卡上找到它。 https://www.nike.com.br
实例化 webdriver 的代码
解析har日志的代码
node.js - 使用 puppetter 生成 har
我可以使用 chrome 扩展在任何网站上记录用户事件(点击、输入值),并且可以在 mongodb 中保存步骤和启动 url。我想重播那些记录的步骤并为每个新请求生成 HAR。
记录的步骤格式:对于 Click
用于输入
用于生成 har 的当前代码:->
上面的代码在从数据库中获取的每一步(无论是单击还是赋值)上都会生成 har,但我想在任何请求更改后生成例如:- ajax 请求或 url 更改。
谢谢。
google-chrome - Chrome HAR 文件大小限制
环境
- 视窗 10
- Chrome 版本 66.0.3359.181(官方版本)(64 位)
手头的问题
出于调试目的,我记录网络流量并将其保存为 HAR 文件。当生成的 HAR 文件很大 ( > ~12Mb ) 时,它的内容会被截断,从而导致无效的 JSON 对象。
- 我可能做错了什么?
- 这是一个已知的问题?
- 过去有人遇到过类似的事情吗?
cefsharp - 如何从 CefSharp 导出 HAR 文件
我有 CefSharp (WinForms) 来显示用于 UI 测试的浏览器。我想实现一些功能来自动将网络请求保存为 HAR 文件 - 类似于 chrome devtools,当您访问网络选项卡时。
我不知道这是否可以使用 CefSharp.WinForms.ChromiumWebBrowser 中的一些处理程序(例如通过实现 RequestHandler)。但是在那里我没有看到任何时间信息。
javascript - 我在哪里运行 DevTools 代码?
我想使用chrome.devtools.network.getHAR()获取HAR文件。具体来说,我在MahiMahi重放 shell 中使用Selenium,我想注入它会将转储到文件中。标准注入('s方法)不起作用,因为页面的范围不包括 DevTools 兼容性。考虑到这一点,我有一系列问题:JS
HAR
JS
Selenium
executeScript
JS
- 我可以在哪里以及如何使用类似的方法
chrome.devtools.network.getHAR()
?我还没有找到我可以在哪里运行它,因为我 F12 没有它在范围内时的控制台。 - 我可以自动化这个过程吗?
- 我可以专门使用 Selenium 来解决这个问题,还是有任何其他浏览器自动化技术可以更好地工作?(虽然我宁愿避免使用 PhantomJS,因为它已经过时了)
- 还有其他更简单的方法可以自动从站点获取 HAR 文件吗?
注意:我的代码库是 Python
谢谢!
c# - 如何从与 Chromium 应用程序集成的 Windows 应用程序中保存 HAR 文件?
我们有一个与 Helix Server(Chromium 应用程序)集成的 Windows 应用程序。我们使用 LeanFT 来自动化 Windows 应用程序。我们还需要测试场景的性能日志(HAR 文件)。通过按Ctrl+ Alt+D我们可以手动打开 Devtools 并检查日志,但是在自动化时我们需要保存 HAR 文件。我尝试过使用驱动程序从浏览器中保存 HAR 文件的 HttpWatch 和 BrowserMobProxy,但无法从独立的 Windows 应用程序中保存它们。如果有人尝试从客户端应用程序保存 HAR 文件,请告诉我。