如何使用jquery 3.1.1将HtmlUnitDriver与应用程序一起使用

时间:2017-07-27 12:27:42

标签: javascript selenium htmlunit-driver

我正在尝试自动化具有jquery甜蜜警报的网站流。 当我使用HtmlUnitDriver进行无头浏览器测试时,甜蜜警报被视为不可见。 所以,当我尝试执行javascript将div显示更改为'block'时,我会遇到一些例外情况。

HtmlUnitDriver driver = new HtmlUnitDriver(BrowserVersion.CHROME);
driver.setJavascriptEnabled(true);
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get("https://www.someurl.com");
JavascriptExecutor js = (JavascriptExecutor) driver;     
js.executeScript("document.getElementById('dummy').style.display= 'block';");
WebElement dummy = driver.findElement(By.id("dummy"));
System.out.println("dummy is displayed?:"+dummy.isDisplayed());

HtmlUnit 2.18与Selenium Webdriver 2.48.2的异常:

org.openqa.selenium.WebDriverException: com.gargoylesoftware.htmlunit.ScriptException: TypeError: Cannot find function createHTMLDocument in object [object DOMImplementation]

1 个答案:

答案 0 :(得分:1)

此问题已通过HtmlUnit 2.22修复,但一般情况下您必须切换到最新版本(目前为2.27)。