我正在尝试访问由某些 Javascript 创建的网页上的某些内容。但是,我希望访问的内容是在页面加载后由 javascript 创建的,因此当我尝试使用 Jsoup 解析它时,找不到这块 Html 源代码。
我使用HtmlUnit获取Html源代码的代码如下:
public static void main(String[] args) throws IOException {
java.util.logging.Logger.getLogger("com.gargoylesoftware").setLevel(java.util.logging.Level.OFF);
WebClient webClient = new WebClient(BrowserVersion.CHROME);
webClient.getOptions().setThrowExceptionOnScriptError(false);
webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);
String url = "myUrl.com";
out.println("accessing " + url);
HtmlPage page = webClient.getPage(url);
out.println("waiting for js");
webClient.waitForBackgroundJavaScriptStartingBefore(200);
webClient.waitForBackgroundJavaScript(20000);
out.println(page.asXml());
webClient.close();
}
Run Code Online (Sandbox Code Playgroud)
但是当我运行它时,没有打印应该创建的Html。我想知道如何使用 HtmlUnit 获取由 Javascript 创建的这个 Html 源代码,然后获取所述结果并将其传递给 Jsoup 进行解析?