将PhantomJSDriverService添加到驱动程序的问题

时间:2015-05-05 10:42:41

标签: c# visual-studio selenium webdriver phantomjs

我有一个问题。如何在不打开其他驱动程序的情况下将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();
        }
    }

2 个答案:

答案 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();