如何通过Java解析器在站点上触发jQuery脚本

时间:2017-06-06 20:24:22

标签: javascript java parsing jsoup htmlunit

我正试图解析https://www.epam.com/careers/job-listings?query=java&department=all&city=Kyiv&country=Ukraine的职位空缺 但我没有得到任何明文,如“Job Listings Global / English Deutschland /DeutschРоссия/Русский” 问题是当你加载一个页面时 - 浏览器运行一个加载一些空缺的脚本,但我怎么能不知道JSOUP不能“模拟”浏览器并运行一个脚本。我尝试过HtmlUnit,但它也没有做任何事 问题:我该怎么办?我是否在使用HtmlUnit做错了什么?

Jsoup

Element page = = Jsoup.connect("https://www.epam.com/careers/job-listings?sort=best_match&query=java&department=all&city=all&country=Poland").get();

的HtmlUnit

try (final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_52)) {
    page = webClient.getPage("https://www.epam.com/careers/job-listings?query=java&department=all&city=Kyiv&country=Ukraine");
}

我想我需要手动运行一些脚本

result = page.executeJavaScript("function aa()");

但是哪一个?

1 个答案:

答案 0 :(得分:1)

你只需要稍等一下here

您可以使用:

try (final WebClient webClient = new WebClient(BrowserVersion.CHROME)) {
    String url = "https://www.epam.com/careers/job-listings?query=java&department=all&city=Kyiv&country=Ukraine";

    HtmlPage page = webClient.getPage(url);
    Thread.sleep(3_000);
    System.out.println(page.asXml());
}