我正在使用browsermob代理来捕获webdrirver(主要是chrome)的流量。 以下是我遇到的问题:只要我使用单页一切正常,但是当URL更改时(由于导航到其他页面或重定向),代理不再捕获任何事件(我无法看到这些HAR文件中的事件)
以下是我开始代理的方式:
proxy.waitForQuiescence(10, 10, TimeUnit.SECONDS);
return proxy.getHar();
这就是我如何得到的:
{{1}}
我是否需要以某种方式处理URL更改时的情况或我在这里丢失smthn?
答案 0 :(得分:0)
这就是我的工作方式!
BrowserMobProxyServer proxyBrowserMob = new BrowserMobProxyServer();
proxy.start();
Proxy seleniumProxy = ClientUtil.createSeleniumProxy(proxyBrowserMob)
DesiredCapabilities caps = DesiredCapabilities.firefox();
caps.setCapability("marionette", true);
caps.setCapability(CapabilityType.PROXY, seleniumProxy);
RemoteWebDriver webDriver = new FirefoxDriver(caps);
proxyBrowserMob .enableHarCaptureTypes(CaptureType.REQUEST_CONTENT,CaptureType.REQUEST_HEADERS,CaptureType.REQUEST_COOKIES);
proxyBrowserMob .newHar();
为了检索HAR文件,我迭代一个HarEntry来获取HAR。
List<HarEntry> entries = browserMobProxy.getHar().getLog().getEntries();
for (HarEntry entry : entries) {
// get HarRequest
/get HarResponse
}