【问题标题】:Unable to Fetch Network Traffic Logs via BrowserMob Proxy with Selenium Webdriver无法通过带有 Selenium Webdriver 的 BrowserMob 代理获取网络流量日志
【发布时间】:2016-04-27 04:38:29
【问题描述】:

设置 Http 代理时,我无法使用 Browsermob 代理获取网络日志,它只会创建一个 har 文件,但我看不到文件中的任何日志

下面是我的代码:-

String strFilePath = "./PerformanceLogs/PerformanceLogs.har";
            String noProxy = "localhost, 127.0.0.1";

        LegacyProxyServer server = new BrowserMobProxyServer();
        server.start();
        server.setCaptureHeaders(true);
        server.setCaptureContent(true);
        Proxy proxy = server.seleniumProxy().setHttpProxy(PROXY)
                .setFtpProxy(PROXY)
                .setSslProxy(PROXY)
                .setNoProxy(noProxy);

         DesiredCapabilities capabilities = DesiredCapabilities.firefox();
         capabilities.setCapability(CapabilityType.PROXY, proxy);

         WebDriver driver = new FirefoxDriver(capabilities);

        server.newHar("NetworkLogs");
        driver.navigate().to("https://url-");

        driver.findElements(xpath="").click();

        pMonitor = new Prism_Selenium_Monitor_Tab(driver);
        pMonitor.prism_monitor_credentialDeploy(URL,excelfile[0], excelfile[4]);

        Har har = server.getHar();
        File harFile = new File(strFilePath);
        har.writeTo(harFile);
        server.stop();

任何人都可以在这方面取悦我吗? 提前致谢

【问题讨论】:

    标签: selenium proxy browsermob-proxy


    【解决方案1】:
    1. 由于某种原因您正在启动 LegacyProxy,请尝试启动 BrowserMobProxyServer,即

      BrowserMobProxyServer 服务器 = new BrowserMobProxyServer();

    2. 默认代理类型是HTTP,即尝试删除这部分:

      .setNoProxy(noProxy);

    3. 这实际上不应该是一个问题,但在默认情况下,不需要命名您的 HAR,即此代码是多余的:

      server.newHar("NetworkLogs");

    你可以:

    server.newHar();

    【讨论】:

      猜你喜欢
      • 2015-03-25
      • 1970-01-01
      • 2014-01-20
      • 1970-01-01
      • 2021-02-28
      • 1970-01-01
      • 2020-05-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多