首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BrowserMob无法与Selenium Webdriver一起使用

BrowserMob无法与Selenium Webdriver一起使用
EN

Stack Overflow用户
提问于 2017-03-03 22:39:28
回答 1查看 1.8K关注 0票数 0

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

我的代码是:

代码语言:javascript
复制
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中出现了错误:

Error FileManager ( bmp.log ) java.io.FileNotFound Exception bmp.log(拒绝访问)

-Error无法将字段插入插件类型类的生成器类org.apache.logging.log4j.core无法为bmp.log创建管理器

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

附加器中文件的-Error空对象返回

-Error找不到记录器配置的附加器“文件”。

EN

回答 1

Stack Overflow用户

发布于 2017-06-14 01:49:28

嘿,我这里也有同样的问题

我更改了Server.cs中的.Start进程,开始时如下所示:

代码语言:javascript
复制
     _serverProcess = new Process
        {
            StartInfo = { FileName = _path,
                           UseShellExecute = true,
                           Verb = "runas"
                         }
        }

UseShellExecuteVerb是这里的关键,我还添加了app.manifest

代码语言:javascript
复制
requestedExecutionLevel  level="requireAdministrator" uiAccess="false"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42581681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档