C# 向驱动程序添加PhantomJSDriverService时出现问题

C# 向驱动程序添加PhantomJSDriverService时出现问题,c#,visual-studio,selenium,webdriver,phantomjs,C#,Visual Studio,Selenium,Webdriver,Phantomjs,我有个问题。如何在不打开其他驱动程序的情况下向驱动程序添加PhantomJSDriverService?还是在最后关闭两个驱动程序 我所做的工作,但它打开了2个驱动程序,当程序结束时,它只关闭其中一个。另一个一直运行,直到我通过任务管理器关闭它 所以,我得到的是这个。 在代码的开头,我创建了一个驱动程序: IWebDriver driver = new PhantomJSDriver(); 创建此驱动程序后,我在代码的其他地方调用PhantomJSDriverService:

我有个问题。如何在不打开其他驱动程序的情况下向驱动程序添加PhantomJSDriverService?还是在最后关闭两个驱动程序

我所做的工作,但它打开了2个驱动程序,当程序结束时,它只关闭其中一个。另一个一直运行,直到我通过任务管理器关闭它

所以,我得到的是这个。 在代码的开头,我创建了一个驱动程序:

IWebDriver driver = new PhantomJSDriver();
创建此驱动程序后,我在代码的其他地方调用PhantomJSDriverService:

            PhantomJSDriverService service = PhantomJSDriverService.CreateDefaultService();
            service.IgnoreSslErrors = true;
            service.LoadImages = false;
            service.ProxyType = "none";
我在代码中的其他地方调用它,因为如果我在无法设置 服务价值

要将服务添加到驱动程序中,我在设置服务值后使用此选项:

driver = new PhantomJSDriver(service);
但当我这样做时,它会创建另一个驱动程序。所以之后是否可以关闭第二个驱动器?还是有其他解决办法

这是我的清理方法:

public void CleanUp()
    {
        if (driver != null)
        {
            Console.WriteLine("Closed browser");
            driver.Dispose();
        }
    }

我会尝试在后面的过程中启动驱动程序,如下所示

PhantomJSDriverService service = PhantomJSDriverService.CreateDefaultService();
service.IgnoreSslErrors = true;
service.LoadImages = false;
service.ProxyType = "none";

IWebDriver driver = new PhantomJSDriver(service);

最好的解决方案是在需要它之前不要实例化它。我的意思是首先将其分配给
null

 IWebDriver driver = null;
…完成所有与服务相关的工作,然后像以前一样:

driver = new PhantomJsDriver();

是的,但是在代码开始时需要驱动程序,因为在使用它之前需要声明它。@JoshC啊,好的,那么你使用驱动程序,然后再更改它的属性?是的,因为如果声明不在方法中,你就不能更改它的属性。(在代码的开头)。有没有更好的方法来改变它的属性?@JoshC有趣的是,我从来没有遇到过以后需要改变属性的情况。为什么你不能直接更新驱动程序并设置属性?我认为这更有意义,因为这是整个安装过程。我需要更改它们,因为否则java脚本无法正常工作。我怎样才能立即更改属性?