Browsermob代理在url更改时停止捕获



我使用browsermob代理来捕获webdrierver的流量(主要是chrome)。这是我遇到的问题:只要我使用单个页面,一切都可以,但是当URL更改时(由于导航到其他页面或重定向),代理不再捕获任何事件(我无法在HAR文件中看到这些事件)

以下是我如何启动代理:

BrowserMobProxyServer proxy = new BrowserMobProxyServer();
        try {
            proxy.start(Integer.valueOf(proxyPool.borrowProxyPort()), InetAddress.getLocalHost());
        } catch (NumberFormatException | UnknownHostException e) {
            Logger.error(e.getLocalizedMessage());
        }
        proxy.waitForQuiescence(30, 3, TimeUnit.SECONDS);
        proxy.setHarCaptureTypes(CaptureType.REQUEST_HEADERS);
        Logger.info("Proxy start status: " + proxy.isStarted());

以下是我如何获得har:

proxy.waitForQuiescence(10, 10, TimeUnit.SECONDS);
return proxy.getHar();

当URL更改或我在这里缺少smthn时,我需要以某种方式处理这些情况吗?

这就是我的工作方式!

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
     }

相关内容

  • 没有找到相关文章

最新更新