在C#中使用Selenium时,如何使用Selenium配置和设置HTMLUNIT?
我安装了selenium远程驱动程序并运行selenium服务器。selenium服务器正在正确运行,同时我尝试使用以下方法运行代码:在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
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);