2017-07-27 36 views
0

我想自動化具有jquery甜蜜警報的網站的流程。 當我使用HtmlUnitDriver進行無頭瀏覽器測試時,甜言語被視爲不可見。 因此,當我試圖執行javascript將div顯示更改爲'block'時,我得到一些例外。如何使用HtmlUnitDriver與應用程序使用jQuery 3.1.1

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()); 

異常與2.18的HtmlUnit硒的webdriver 2.48.2:

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

回答

1

這個特殊的問題是固定HtmlUnit 2.22但一般而言,您必須(目前2.27)切換到最新版本。

+0

使用HtmlUnit 2.22拋出以下異常:org.openqa.selenium.WebDriverException:java.lang.IllegalArgumentException:無法找到聲明的字段類org.apache.http.impl.client.HttpClientBuilder.dnsResolver在線driver.get(「https ://www.someurl.com「) –

+0

請使用'2.27',WebDriver/HtmlUnit –