我有一个问题。如何在不打开其他驱动程序的情况下将PhantomJSDriverService添加到驱动程序?或者最后关闭两个司机?
我的工作原理,但是它打开2个驱动程序,当程序结束时它只关闭其中一个。而另一个一直在运行,直到我通过任务管理器关闭它。
所以,我拥有的就是这个。 在代码的开头我创建了一个驱动程序:
IWebDriver driver = new PhantomJSDriver();
创建此驱动程序后,我在代码中的其他地方调用了PhantomJSDriverService:
PhantomJSDriverService service = PhantomJSDriverService.CreateDefaultService();
service.IgnoreSslErrors = true;
service.LoadImages = false;
service.ProxyType = "none";
我在代码中的其他位置调用它,因为如果我在调用它之前无法设置它 服务价值。
要将服务添加到驱动程序,请在设置服务值后使用此功能:
driver = new PhantomJSDriver(service);
但是,当我这样做时,它会创建另一个驱动程序。那么......以后可以关闭第二个驱动程序吗?或者还有其他解决方案吗?
这是我的CleanUp方法:
public void CleanUp()
{
if (driver != null)
{
Console.WriteLine("Closed browser");
driver.Dispose();
}
}
答案 0 :(得分:0)
我会在稍后的过程中尝试启动驱动程序,如下所示
PhantomJSDriverService service = PhantomJSDriverService.CreateDefaultService();
service.IgnoreSslErrors = true;
service.LoadImages = false;
service.ProxyType = "none";
IWebDriver driver = new PhantomJSDriver(service);
答案 1 :(得分:0)
最好的解决方案是在需要之前不要实例化它。我的意思是将其分配给null
以开始;
IWebDriver driver = null;
...做你正在做的所有服务相关的事情,然后就像以前一样:
driver = new PhantomJsDriver();