2
我正在使用HTMLUnit爲了在輸入框中放置文本,然後單擊實際上是JS調用的鏈接。 當我在輸入中使用inputBox.setValueAttribute("example input");
來輸入文本時,問題就出現了。在這種情況下,點擊按鈕後頁面根本不會改變。 另一方面,一旦我刪除inputBox.setValueAttribute("example input");
,然後單擊該按鈕,頁面內容會發生更改,幷包含空輸入的錯誤。HTMLUnit等待JS問題
以下是我用於將文本放入相關輸入中的代碼,然後單擊該按鈕。
public void addressToBlockPlot(){
WebClient client = new WebClient(BrowserVersion.FIREFOX_24);
client.getOptions().setThrowExceptionOnScriptError(false);
client.getOptions().setThrowExceptionOnScriptError(false);
client.setJavaScriptTimeout(10000);
client.getOptions().setJavaScriptEnabled(true);
client.setAjaxController(new NicelyResynchronizingAjaxController());
client.getOptions().setTimeout(10000);
try {
HtmlPage page = client.getPage("http://mapi.gov.il/Pages/LotAddressLocator.aspx");
HtmlInput inputBox = (HtmlInput)page.getHtmlElementById("AddressInput");
final HtmlAnchor a = (HtmlAnchor) page.getElementById("helkaSubmit");
inputBox.setValueAttribute("example input");
a.click();
client.waitForBackgroundJavaScript(2000);
HtmlPage page2= (HtmlPage) client.getCurrentWindow().getEnclosedPage();
System.out.println(page2.asXml());
} catch (Exception e) {
}
}
解決此問題的任何想法?
編輯: 我使用inputBox.setValueAttribute("");
嘗試,這導致在接收時沒有輸入文本設置爲全部,我得到了同樣的錯誤。