我正在尝试在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()。
driver.Quit()
问题是我不希望显示cmd窗口。我应该怎么做才能做到这一点?
更新:当我在Python中执行相同的代码时,cmd窗口不显示。但是,如果我使用py2exe将python脚本转换为exe,则cmd窗口将再次开始显示。
不,如果不修改绑定源代码,则无法在.NET绑定中隐藏PhantomJS.exe的控制台窗口。这被视为绑定的功能,因为控制台窗口保持打开状态,因此可以很容易地看到代码未正确清除PhantomJSDriver的资源。对于某些其他语言,如果您的代码无法通过调用WebDriver对象上的quit()方法来正确清理PhantomJSDriver实例,则最终可能会在计算机上运行一个僵尸PhantomJS.exe进程。