在Windows下有没有办法区分chromedriver和chrome

时间:2017-12-29 15:13:18

标签: c# windows google-chrome selenium selenium-webdriver

我正在进行Selenium测试并需要为浏览器收集CPU和内存信息:

Process.GetProcessesByName(TheBrowserName)

然而,这将从我的普通铬和Selenium chromedriver获得CPU和内存信息,因为他们的名字都被称为" CHROME"。

因此,这个问题,我可以区分Selenium chromedriver和我的普通铬。谢谢。

1 个答案:

答案 0 :(得分:2)

如果您在测试期间不打算手动打开任何镀铬窗口,那么您可以在创建驱动程序时创建DateTime driverInitTime = DateTime.Now;

运行Process.GetProcessesByName("chrome");后,Selenium创建的所有实例都会有StartTime DateTime大于(>) driverInitTime。

DateTime driverInitTime = DateTime.Now;
Website website = new Website(new ChromeDriver("driver path if needed"));
Process[] chromeBrowsers = Process.GetProcessesByName("chrome");
Process[] seleniumBrowsers = new Process[chromeBrowsers.Length];

int index = 0;
foreach(Process browser in chromeBrowsers) {
  if(browser.StartTime > driverInitTime)
  {
      seleniumBrowsers[index] = browser;
      index++;
  }
}