在C#中使用Selenium时,如何使用Selenium配置和设置HTMLUNIT?

在C#中使用Selenium时,如何使用Selenium配置和设置HTMLUNIT?,selenium,selenium-webdriver,selenium-server,Selenium,Selenium Webdriver,Selenium Server,我安装了selenium远程驱动程序并运行selenium服务器。selenium服务器正在正确运行,同时我尝试使用以下方法运行代码: var remoteServer = new Uri("http://127.0.0.1:4444/wd/hub"); DesiredCapabilities desiredCapabilities = DesiredCapabilities.Firefox(); desiredCapabilities.IsJav

我安装了selenium远程驱动程序并运行selenium服务器。selenium服务器正在正确运行,同时我尝试使用以下方法运行代码:

        var remoteServer = new Uri("http://127.0.0.1:4444/wd/hub");
        DesiredCapabilities desiredCapabilities = DesiredCapabilities.Firefox();
        desiredCapabilities.IsJavaScriptEnabled = true;
 myDriver = new RemoteWebDriver(remoteServer, desiredCapabilities, new TimeSpan(0,1, 30));
CMD日志中没有错误抛出,元素可以正确找到,但当我尝试使用以下代码运行此操作时,会出现令人头痛的问题:

      var remoteServer = new Uri("http://127.0.0.1:4444/wd/hub");
       DesiredCapabilities desiredCapabilities = DesiredCapabilities.HtmlUnit();
       desiredCapabilities.IsJavaScriptEnabled = true;
       myDriver = new RemoteWebDriver(remoteServer, desiredCapabilities, new TimeSpan(0, 1, 30));
在日志中,它会抛出很多错误,当我尝试查找任何元素时,日志中会显示超时异常。 我的测试代码如下所示:

        myDriver.Manage().Window.Maximize();
        myDriver.Navigate().GoToUrl(tollFreeURL);
        IWebElement planClick = myDriver.FindElement(By.ClassName("trial"));
        planClick.Click();
        IWebElement startPlan = myDriver.FindElement(By.Id("choose2000"));
        startPlan.Click();
        IWebElement selectValue = myDriver.FindElement(By.Name("AreaCode"));
        var selectElement = new SelectElement(selectValue);
        selectElement.SelectByValue("800");
 IWebElement selectNumber = myDriver.FindElement(By.XPath("//*[@id='divList']/div[1]"));
        tollFreeNumber = selectNumber.Text;
        tollFreeNumber = stringConvert.StringRefiner(tollFreeNumber, " ");
        tollFreeNumber = stringConvert.StringRefiner(tollFreeNumber, "(");
        tollFreeNumber = stringConvert.StringRefiner(tollFreeNumber, ")");
        tollFreeNumber = stringConvert.StringRefiner(tollFreeNumber, "-");
        Console.WriteLine(tollFreeNumber);

我的目标是在后台运行该应用程序并生成数据,因此我没有任何选项可以使用Firefox运行该应用程序。HTMLUNIT是我唯一的选项。需要帮助时,它将困扰我3-4天

我相信您的机器正在使用代理服务器。尝试在创建驱动程序实例时添加该代理配置

String PROXY = "xx.xx.xx.xx:8080"; 
OpenQA.Selenium.Proxy proxy = new OpenQA.Selenium.Proxy();
proxy.HttpProxy=PROXY;
proxy.FtpProxy=PROXY;
proxy.SslProxy=PROXY;
将代理设置添加到所需功能:

desiredCapabilities.SetCapability(CapabilityType.PROXY, proxy);