一尘不染

Selenium Webdriver PhantomJS C#总是打开一个cmd窗口

selenium

我正在尝试在C#中将PhantomJS与Selenium Webdriver一起使用。以下是我的代码:

IWebDriver driver = new PhantomJSDriver();
driver.Navigate().GoToUrl("http://www.google.com");
Console.WriteLine(driver.Url);
driver.Quit();

该代码可以正常工作,但是只要运行,它就会打开一个cmd窗口,其中显示了phantomjs的所有日志。该cmd也用关闭driver.Quit()

问题是我不希望显示cmd窗口。我应该怎么做才能做到这一点?

更新:当我在Python中执行相同的代码时,cmd窗口不显示。但是,如果我使用py2exe将python脚本转换为exe,则cmd窗口将再次开始显示。


阅读 543

收藏
2020-06-26

共1个答案

一尘不染

不,如果不修改绑定源代码,则无法在.NET绑定中隐藏PhantomJS.exe的控制台窗口。这被视为绑定的功能,因为控制台窗口保持打开状态,因此可以很容易地看到代码未正确清除PhantomJSDriver的资源。对于某些其他语言,如果您的代码无法通过调用WebDriver对象上的quit()方法来正确清理PhantomJSDriver实例,则最终可能会在计算机上运行一个僵尸PhantomJS.exe进程。

2020-06-26