Java 为什么HtmlUnit代码不';与Chrome代码不匹配?

Java 为什么HtmlUnit代码不';与Chrome代码不匹配?,java,web-scraping,router,htmlunit,Java,Web Scraping,Router,Htmlunit,我正试图通过网络路由器页面抓取来搜索连接的设备和相关信息。 我写了这段代码: String searchUrl="http://192.168.1.1"; HtmlPage page=client.getPage(searchUrl); System.out.println(page.asXml()); 问题是HtmlUnit返回的代码与Chrome中的代码不同。在HtmlUnit中,我没有列出连接设备的代码部分。试试这样的方法 try (final WebClient webClient =

我正试图通过网络路由器页面抓取来搜索连接的设备和相关信息。 我写了这段代码:

String searchUrl="http://192.168.1.1";
HtmlPage page=client.getPage(searchUrl);
System.out.println(page.asXml());

问题是HtmlUnit返回的代码与Chrome中的代码不同。在HtmlUnit中,我没有列出连接设备的代码部分。

试试这样的方法

try (final WebClient webClient = new WebClient()) {
    // do not stop at js errors
    webClient.getOptions().setThrowExceptionOnScriptError(false);

    webClient.getPage(searchUrl);
    // now wait for the js starting async (you can play with the timing)
    webClient.waitForBackgroundJavaScript(10000);

    // maybe the page was replaced from the async js
    HtmlPage page = (HtmlPage) webClient.getCurrentWindow().getEnclosedPage();

    System.out.println(page.asXml());
}
通常这会有帮助。 如果您仍然面临问题,则必须在github()上打开一个问题


但请记住,只有在这里运行/调试您的代码,我才能真正提供帮助——这意味着您的web应用程序必须公开

是否涉及任何
js
?您可以在chrome中检查网络响应,并将其与您的响应进行比较。是的。动态内容有问题吗?这些动态内容是通过JavaScript处理生成的。因此,如果您还希望这些字段存在,
HtmlPage
库需要具有
JS
功能。它已经启用