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

问题描述 投票:0回答:1

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

Process.GetProcessesByName(TheBrowserName)

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

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

c# windows google-chrome selenium selenium-webdriver
1个回答
2
投票

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

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

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++;
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.