我正在使用BrowserMob从Chrome浏览器获取捕获流量。我用.bat文件下载BrowserMob应用程序。我也和Selenium Webdriver一起工作。我将.cs文件从Github添加到浏览器项目中。我想要的是获得网络流量。
我的代码是:
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(访问被拒绝)
-Error无法将字段注入到插件类型类org.apache.logging.log4j.core的构建器类中,无法为bmp.log创建管理器
-Error无法在类类org.apache.logging.log4j.core.appender.FileAppender中为元素文件java.lang.IllegalStateException调用工厂方法:找不到工厂方法
-Error NULL对象返回appenders中的文件
-Error无法找到appender" file"用于记录器配置。
答案 0 :(得分:0)
嘿,我在这里有同样的问题
我更改了.Start
中的Server.cs
流程,就这样开始了:
_serverProcess = new Process
{
StartInfo = { FileName = _path,
UseShellExecute = true,
Verb = "runas"
}
}
UseShellExecute
和Verb
是关键所在,我还添加了app.manifest
:
requestedExecutionLevel level="requireAdministrator" uiAccess="false"