1

我设置 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 天卡住我。

4

1 回答 1

0

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

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);
于 2014-11-27T08:18:45.970 回答