Динамическое содержимое веб-страницы не загружается полностью с помощью Htmlunit WebClient - PullRequest
0 голосов
/ 22 мая 2019

Я пытаюсь загрузить веб-страницу (https://genpact.taleo.net/careersection/sgy_external_career_section/jobsearch.ftl?lang=en) для очистки с помощью HtmlUnit WebClient. Но содержимое загружается неправильно. Например, я не могу найти кнопки Применить. Мой код веб-клиента, как показано ниже

webClient.setCssErrorHandler(new DefaultCssErrorHandler());
        webClient.setJavaScriptErrorListener(new DefaultJavaScriptErrorListener());
        webClient.setAjaxController(new NicelyResynchronizingAjaxController());
        webClient.getCookieManager().setCookiesEnabled(true);
        webClient.waitForBackgroundJavaScript(60000);

Может кто-нибудь помочь мне с этим

1 Ответ

0 голосов
/ 22 мая 2019

Это работает для меня

public static void main(String[] args) throws IOException{
    final String url = "https://genpact.taleo.net/careersection/sgy_external_career_section/jobsearch.ftl?lang=en";

    try (final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_60)) {
        HtmlPage page = webClient.getPage(url);

        // waitForBackgroundJavaScript has to be called after every action
        // this page is really slow wait for the last part of the dynamic content
        while(!page.asText().contains("Previous\r\n1\r\n2\r\n3\r\n4\r\n")) {
            webClient.waitForBackgroundJavaScript(1_000);
        }

        System.out.println("-------------------------------------------------------------------------------");
        System.out.println(page.asText());
        System.out.println("-------------------------------------------------------------------------------");
    }
}
...