我想从网站中提取一些信息。为了做到这一点,我使用HtmlUnit来模拟一些点击。
网站是:http://www.sixt.com/car-rental/
我想在文本字段中设置一个特定值,即" 70629"然后单击下面的按钮。网站上的按钮执行一些javascript。
我已经尝试了所有内容并阅读了不同的帖子(也在stackoverflow上),但似乎没有任何效果:/
到目前为止我的代码:
WebClient webClient = new WebClient(BrowserVersion.FIREFOX_24);
webClient.getCookieManager().setCookiesEnabled(true);
webClient.getOptions().setJavaScriptEnabled(true);
webClient.getOptions().setThrowExceptionOnScriptError(false);
HtmlPage page;
try {
page = webClient.getPage(SIXT_ADDRESS);
//checking a checkbox
HtmlInput checkbox0 = (HtmlInput) page.getElementById("sx-branch-search-panel-option_F");
checkbox0.click();
//setting input for textfield
HtmlTextInput textField1 = (HtmlTextInput) page.getElementById("i-mf__inputfield");
textField1.setValueAttribute("70629");
//load new page through button click
HtmlElement theElement2 = (HtmlElement) page.getElementById("submit_button");
page = theElement2.click();
System.out.println(page.asText());
为什么输出仍会显示上述网站的内容,而不是新页面? (设置了文本字段值和复选框!)。
我注意到了
webClient.waitForBackgroundJavaScript(1000);
将删除输出中的文本字段值(" 70629")。
非常感谢任何帮助!