无法使用HtmlUnitDriver

时间:2015-09-23 12:57:06

标签: javascript selenium selenium-webdriver htmlunit htmlunit-driver

以下代码声明HtmlUnitDriver使用new HtmlUnitDriver(true)启用了javascript,然后创建了JavaScriptExecutor,如下所示

     WebDriver driver = new HtmlUnitDriver(true);
     JavascriptExecutor js = (JavascriptExecutor) ((HtmlUnitDriver)driver);

我找到了必须添加属性的html标签

      String xpathSrc = "//*[@id='formId']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td/table/tbody/tr[4]/td[2]/input[2]";
    String xpathDest = "//*[@id='formId']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td/table/tbody/tr[8]/td[2]/input[2]";

    WebElement elemSrc =  driver.findElement(By.xpath(xpathSrc));
    setAttributeValue(elemSrc, "value", src.toUpperCase());

    WebElement elemDest = driver.findElement(By.xpath(xpathDest));
    setAttributeValue(elemDest, "value", dest.toUpperCase());

然后我调用以下函数

     public void setAttributeValue(WebElement elem, String attr, String value){
    String scriptSetAttrValue = "arguments[0].setAttribute(arguments[1],arguments[2]);";        
    js.executeScript(scriptSetAttrValue, elem, attr, value);
}

但经过我的努力后,我无法使用HtmlUnitDriver执行代码,但相同的代码可以使用FirefoxDriverPhantomJsDriver高效运行。我倾向于使用HtmlUnitDriver,因为它的速度,但似乎没有任何工作。

0 个答案:

没有答案