这周我开始做作业,在这个论坛上阅读我找到了我的问题的“解决方案”。我的程序解析网站的 HTML 页面并获取一些数据。好吧,这并不难。我的问题是如何在网站上获取数据。使用 HtmlUnit 我知道这是可能的,并阅读了他们的教程和网络上的一些代码,我编写了我的简单测试:
import org.junit.Test;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlForm;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
public class MyTest {
@Test
public void myClient() throws Exception {
final WebClient webClient = new WebClient();
HtmlPage page = webClient.getPage("http://www.atb.bergamo.it/ITA/Default.aspx?SEZ=2&PAG=38&MOD=LINTRV");
final HtmlForm form = page.getFormByName("form1");
final HtmlSubmitInput filtra = form.getInputByName("ctl13$btnFilter");
page = filtra.click();
final String pageAsXml = page.asXml();
System.out.println(pageAsXml);
webClient.closeAllWindows();
}
}
此代码获取远程页面,单击页面表单中的提交按钮,然后在控制台上打印提交结果。
问题是当我使用点击事件时,因为网页中没有任何变化。事实上,它必须出现一个新表,其中包含我想要收集的一些数据,但事实并非如此。
你能告诉我我哪里错了吗?
你知道另一种方法来做我想做的事吗?