7

ボタンがクリックされた後に Web ページからソース コードをスクレイピングするプログラムを作成しました。AJAX リクエストが送信されていると思われるため、適切なページをスクレイピングできず、この応答が行われるのを待っていません。私のコードは現在:

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 {

    java.util.logging.Logger.getLogger("com.gargoylesoftware").setLevel(Level.OFF); 
System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.NoOpLog");

    final WebClient webClient = new WebClient();
    final HtmlPage page = webClient.getPage(s);
    final HtmlForm form = page.getForms().get(2);
    final HtmlSubmitInput button = form.getInputByValue(">");
    final HtmlPage page2 = button.click();
    String originalHtml = page2.refresh().getWebResponse().getContentAsString();
    return originalHtml;
  }
}

このリンクを参照した後、これを修正して、「webClient.waitForBackgroundJavaScript(10000)」メソッドを実装できると思います。唯一の問題は、ボタンをクリックするたびに WebClient オブジェクトではなく HtmlPage オブジェクトを作成するため、これを行う方法がわからないことです。この方法をどのように組み込んで問題を解決できますか?

4

2 に答える 2