Java HtmlUnit获取页面错误

Java HtmlUnit获取页面错误,java,parsing,htmlunit,Java,Parsing,Htmlunit,我正在尝试解析此页面 http://www.reuters.com/article/2015/07/08/us-china-cybersecurity-idUSKCN0PI09020150708 我的代码如下所示 WebClient webClient = new WebClient(BrowserVersion.CHROME); final HtmlPage page = webClient.getPage("http://www.reuters.com/article/2015/0

我正在尝试解析此页面

http://www.reuters.com/article/2015/07/08/us-china-cybersecurity-idUSKCN0PI09020150708
我的代码如下所示

  WebClient webClient = new WebClient(BrowserVersion.CHROME);
  final HtmlPage page = webClient.getPage("http://www.reuters.com/article/2015/07/08/us-alibaba-singapore-post-idUSKCN0PI03J20150708");
  System.out.println(page.asXml());
它给了我很多警告和巨大的调用堆栈。主要与javascript引擎相关。 我使用了这些选项

webClient.waitForBackgroundJavaScript(1000000);
webClient.setJavaScriptTimeout(1000000);

但似乎什么都不管用。此页面执行javascript以加载页面内容。我需要等待页面加载以获取内容。你知道我如何解决这个问题吗?

你需要在获得页面后等待,还有一个错误是“addImpression”没有定义,我不知道它是在哪个JavaScript中定义的

我觉得您没有使用最新版本,因为没有太多警告

我通过以下方式获取内容:

try (WebClient webClient = new WebClient(BrowserVersion.CHROME)) {
    webClient.getOptions().setThrowExceptionOnScriptError(false);
    final HtmlPage page = webClient.getPage("http://www.reuters.com/article/2015/07/08/us-alibaba-singapore-post-idUSKCN0PI03J20150708");
    webClient.waitForBackgroundJavaScript(10000);
    System.out.println(page.asText());
}

您需要在获取页面后等待,另外还有一个错误是“addImpression”未定义,我不知道它是在哪个JavaScript中定义的

我觉得您没有使用最新版本,因为没有太多警告

我通过以下方式获取内容:

try (WebClient webClient = new WebClient(BrowserVersion.CHROME)) {
    webClient.getOptions().setThrowExceptionOnScriptError(false);
    final HtmlPage page = webClient.getPage("http://www.reuters.com/article/2015/07/08/us-alibaba-singapore-post-idUSKCN0PI03J20150708");
    webClient.waitForBackgroundJavaScript(10000);
    System.out.println(page.asText());
}

您需要在获取页面后等待,另外还有一个错误是“addImpression”未定义,我不知道它是在哪个JavaScript中定义的

我觉得您没有使用最新版本,因为没有太多警告

我通过以下方式获取内容:

try (WebClient webClient = new WebClient(BrowserVersion.CHROME)) {
    webClient.getOptions().setThrowExceptionOnScriptError(false);
    final HtmlPage page = webClient.getPage("http://www.reuters.com/article/2015/07/08/us-alibaba-singapore-post-idUSKCN0PI03J20150708");
    webClient.waitForBackgroundJavaScript(10000);
    System.out.println(page.asText());
}

您需要在获取页面后等待,另外还有一个错误是“addImpression”未定义,我不知道它是在哪个JavaScript中定义的

我觉得您没有使用最新版本,因为没有太多警告

我通过以下方式获取内容:

try (WebClient webClient = new WebClient(BrowserVersion.CHROME)) {
    webClient.getOptions().setThrowExceptionOnScriptError(false);
    final HtmlPage page = webClient.getPage("http://www.reuters.com/article/2015/07/08/us-alibaba-singapore-post-idUSKCN0PI03J20150708");
    webClient.waitForBackgroundJavaScript(10000);
    System.out.println(page.asText());
}