【问题标题】:Retrieve GET requests with Javascript in Firefox console在 Firefox 控制台中使用 Javascript 检索 GET 请求
【发布时间】:2016-01-06 09:26:55
【问题描述】:

有没有办法使用 JavaScript 检索网页的 GET 请求的详细信息?我指的不是当前页面 URL 的参数,而是传出的 GET 请求。

示例: 如果您使用 Firefox 打开谷歌的起始页并切换开发者工具,在网络选项卡中您可以看到许多 GET 请求,例如用于徽标的请求,例如 https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png

我想使用 JavaScript 在控制台选项卡上检索此 URL。是否可以通过附加到 DOM (document) 或 BOM (window) 的对象来检索它?

我的问题的原因是:我处于一个开发人员工具不可用的测试自动化环境中。只有 JavaScript 可用,我需要检查当前页面发出的 GET 请求的 URL。我刚刚提到了开发人员工具,因为它是重现问题的最简单方法(如果解决方案有效,也是验证的最简单方法)。但它更多的是关于 Firefox/HTTP,而不是测试自动化本身。

【问题讨论】:

  • 也许这会有所帮助:stackoverflow.com/questions/5448545/…
  • @parameciostudio 不,我已经看过了。但这不是重点:正如我所说,我不想检索 Firefox 中显示的页面的参数,而是检索 由该页面发出的请求并且在网络分析选项卡中列出.

标签: javascript http firefox automated-tests firefox-developer-tools


【解决方案1】:

我认为这在 devtools 中是不可能的,但您可以使用普通的 JS 来制作 global event handler(如果是 jQuery),或者如果使用普通的 JS,请将 XmlHttpRequest 对象替换为记录结果,如here 所述。

【讨论】:

  • 我喜欢第二种方法,但我无法验证,因为我无法更改服务器。如果我在浏览器中尝试,编辑页面,插入附加脚本并重新发送请求,就会出现一些关于阻止“跨源”请求的警告。
  • 你能发布你得到的脚本和确切的错误信息吗?你确定你一开始就没有因为 CORS 而遇到问题吗?
  • 嗯,是的,这是由于 CORS。由于“缺少 CORS 标头:Access-Control-Allow-Origin missing”,我手动发送的请求被阻止。请求的服务器不在我的控制之下,所以我被卡住了。无论如何,如果时间允许,我会尝试建立一个不同的简约环境来彻底测试这种方法。
猜你喜欢
  • 1970-01-01
  • 2020-09-28
  • 2016-06-27
  • 1970-01-01
  • 2015-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多