2017-07-27 6 views
0

jqueryスイートアラートを持つWebサイトのフローを自動化しようとしています。 ヘッドレスブラウザテストでHtmlUnitDriverを使用すると、スイートアラートは表示されないものとみなされます。 私はdiv表示を 'ブロック'に変更するためにjavascriptを実行しようとしたときにいくつかの例外が発生します。jQueryを使用したアプリケーションでHtmlUnitDriverを使用する方法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()); 

セレンwebdriverを2.48.2とHtmlUnit 2.18と例外:

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を使用してください –