我正在尝试解析 https://www.epam.com/careers/job-listings?query=java&department=all&city=Kyiv&country=Ukraine 中的职位空缺
但除了像“Job Listings Global/English Deutschland/Deutsch Россия/Русский”这样的纯文本之外,我什么也没有得到。
问题是当您加载页面时 - 浏览器运行一个加载一些空缺的脚本,但我如何理解 JSOUP 无法“模拟”浏览器并运行脚本。我尝试了 HtmlUnit,但它也没有做任何事情。
问: 我该怎么办?我对 HtmlUnit 做错了什么吗?
J汤
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()");
但是哪一个呢?
最佳答案
您只需按照提示稍等一下 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());
}
关于javascript - 如何通过Java解析器现场触发jQuery脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44399210/