ページの下部にある [次へ] ボタンをクリックした後、一連のページからソース コードをスクレイピングするプログラムを Java で作成しています。私のコードは現在:
public class Htmlunitscraper {
private static String s = "http://cpdocket.cp.cuyahogacounty.us/SheriffSearch/results.aspx?q=searchType%3dSaleDate%26searchString%3d10%2f21%2f2013%26foreclosureType%3d%27NONT%27%2c+%27PAR%27%2c+%27COMM%27%2c+%27TXLN%27";
public static String scrapeWebsite() throws IOException {
final WebClient webClient = new WebClient();
final HtmlPage page = webClient.getPage(s);
final HtmlForm form = page.getForms().get(0);
final HtmlSubmitInput button = form.getInputByValue(">");
final HtmlPage page2 = button.click();
int amountOfTries = 10;
while (amountOfTries > 0 && String originalHtml = page2.getWebResponse().getContentAsString() !=page.getWebResponse().getContentAsString()) {
amountOfTries--;
synchronized (page) {
page.wait(1000);
}
}
return originalHtml;
}
}
Htmlunitを使うのは初めてなので、この投稿を参考にしています。手始めに、クラス「フォーム」がどのように機能するのか、正確に何をするのか正確にはわかりません。ただし、私の問題では、印刷されている文字列は、次のボタンがクリックされた後ではなく、元の Web ページのソース コードです。URL からソースを手動で表示する場合、[次へ] ボタンをクリックすると、更新されたソース コードを表示するためにページを更新する必要があるため、プログラムでこれをエミュレートする必要があると想像してください。どうすればこれを行うことができますか?refresh メソッドを追加した後でも、まだ機能していません。