【发布时间】:2016-02-29 01:44:03
【问题描述】:
Chrome 开发工具的网络标签有一个启动器列,它会准确地向您显示启动网络请求的代码。
我希望能够以编程方式获取网络请求发起方信息,因此我可以运行带有 url 和 request search string 参数的脚本,它会返回有关每个请求的详细信息,其中每个请求的 url 匹配 @987654329 @ 来自url 页面。所以给定参数www.stackoverflow.com 和google 输出可能看起来像这样(显示请求的url、行号和请求的url):
/ 19 http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js
/ 4291 http://www.google-analytics.com/analytics.js
我查看了 PhantomJS,但它的 onResourceRequested 回调没有提供任何启动器信息或可以从中派生它的上下文,根据文档:http://phantomjs.org/api/webpage/handler/on-resource-requested.html
是否可以使用 PhantomJS 或其他一些工具或服务,例如 selenium?
更新
到目前为止,从 cmets 和答案看来,目前 Phantom、Selenium 或其他任何东西似乎都不支持这一点。因此,这是一种可能有效的替代方法:加载页面和所有资产,然后在所有文件中找到 request search string 的任何出现。我怎么能这样做?
【问题讨论】:
-
有些相关:stackoverflow.com/questions/17650466/…。我怀疑您是否可以使用 selenium 获得启动器,因为对于初学者来说,webdriver 和 chrome 开发人员工具都是 chrome 调试器,不能同时运行:sites.google.com/a/chromium.org/chromedriver/help/…..
-
window.performance.getEntries()对每个条目都有initiatorType,但仅此而已,它并不是您要查找的内容。
标签: selenium-webdriver phantomjs google-chrome-devtools casperjs selenium-chromedriver