在解析之前执行网页中的所有 javascript

Execute all javascript in a webpage before parsing

我想下载包含一些 javascript 的网页的 html。如果我使用像 jsoup 这样的库,我得到的 html 没有 javascript.

生成的元素

javascript执行后得到的html怎么取?

编辑:如何在 Java 程序中使用答案中的脚本?

您可以通过以下脚本使用 PhantomJS

var page = require('webpage').create();
page.open('http://whosebug.com',function(status){
  if(status !== 'success'){
    console.log('Open failed');
  }else{
   console.log(page.evaluate(function(){
                               return document.documentElement.outerHTML;
                             }));
  }
  phantom.exit();
});

如果您想从 Java 执行此脚本,请阅读以下内容:

Running Phantomjs from javascript, JSP or Java