我正试图解析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()");
但是哪一个?
答案 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());
}