0

我正在使用 BrowserMob 从 Chrome 浏览器捕获流量。我下载带有 .bat 文件的 BrowserMob 应用程序。我也使用 Selenium Webdriver。我从 Github 将 .cs 文件添加到 Browser 项目。我想要的是获得网络流量。

我的代码是:

using (IWebDriver driver = new ChromeDriver())
            {



var server = new Server(@"C:\Users\Barp\Downloads\browsermob-proxy-2.1.4-bin\browsermob-proxy-2.1.4\bin\browsermob-proxy.bat");
server.Start();
Thread.Sleep(1000);
Client client = server.CreateProxy();

 client.NewHar("google");
 var chromeOptions = new ChromeOptions();
 var seleniumProxy = new Proxy1 { HttpProxy = client.SeleniumProxy };
 chromeOptions.Proxy = seleniumProxy;
 Thread.Sleep(1500);
 var dr = new ChromeDriver(chromeOptions);
 dr.Navigate().GoToUrl("http://www.google.co.uk");
 var harData = client.GetHar();



HarResult harDat = client.GetHar();

WebdriverTestGUI2.BrowserMob.Log log = harDat.Log;
WebdriverTestGUI2.BrowserMob.Entry[] entries = log.Entries;
foreach (var entry in entries)
{
      WebdriverTestGUI2.BrowserMob.Request request = entry.Request;
      var url = request.Url;
  var time = entry.Time;
  Console.WriteLine("Url: " + url + " - Time: " + time);
                }



      driver.Quit();
      client.Close();
      server.Stop()
}
}

您的 .bat 文件或其他 BrowserMob 文件中是否有任何更改?

CMD 正在打开,Start 也运行良好,但我在 cmd 中出现错误:

错误 FileManager (bmp.log) java.io.FileNotFound 异常 bmp.log (访问被拒绝)

-错误无法将字段注入插件类型类 org.apache.logging.log4j.core 的构建器类中,无法为 bmp.log 创建管理器

-错误无法在类 org.apache.logging.log4j.core.appender.FileAppender 中为元素文件 java.lang.IllegalStateException 调用工厂方法:找不到工厂方法

-附加程序中文件的错误NULL对象返回

-错误无法找到记录器配置的附加程序“文件”。

4

1 回答 1

0

嘿,我在这里遇到了同样的问题

我将.Start流程更改为Server.cs这样开始:

     _serverProcess = new Process
        {
            StartInfo = { FileName = _path,
                           UseShellExecute = true,
                           Verb = "runas"
                         }
        }

UseShellExecute和是这里的Verb关键,我还添加app.manifest了:

requestedExecutionLevel  level="requireAdministrator" uiAccess="false"
于 2017-06-13T17:49:27.630 回答