ChromeDriver控制台应用程序隐藏

San*_*hah 17 webdriver

我创建了一个播放器,它将使用selenium和C#中的ChromeDriver自动化chrome.它工作正常.

发布我面临的问题是,当它为ChromDriver创建一个对象时,它将启动ChromeDriver应用程序,该应用程序会弹出,然后Chrome将加载.它非常完美,因为该应用程序正在为我加载chrome.

无论如何,我可以打开隐藏的ChromeDriver吗?

Ras*_*sel 50

在最新的WebDriver中,不需要在WebDriver\DriverService.cs中修改源代码.您只需要实例化ChromeDriverService并将HideCommandPromptWindow设置为true,然后通过该服务和ChromeOptions实例化ChromeDriver.我将在下面给出C#代码示例

var chromeDriverService = ChromeDriverService.CreateDefaultService();
chromeDriverService.HideCommandPromptWindow = true;
return new ChromeDriver(chromeDriverService,  new ChromeOptions());
Run Code Online (Sandbox Code Playgroud)

  • 您还可以添加驱动程序二进制文件ChromeDriverService :: CreareDefaultService(pathToBinary)的路径; (2认同)

Jim*_*ans 11

不,在没有修改绑定源代码的情况下,无法在.NET绑定中隐藏chromedriver.exe的控制台窗口.这被视为绑定的一项功能,因为它使您很容易看到代码未正确清理ChromeDriver的资源,因为控制台窗口仍处于打开状态.对于某些其他语言,如果您的代码未通过调用quit()WebDriver对象上的方法正确清理ChromeDriver实例,则最终可能会在您的计算机上运行zombie chromedriver.exe进程.


Spi*_*der 6

是的,您需要在WebDriver\DriverService.cs中修改源代码Start(); 加:

this.driverServiceProcess.StartInfo.CreateNoWindow = true;
Run Code Online (Sandbox Code Playgroud)