3

给定一个带有 JavaScript 代码的网页,我想自动生成一个生成的 html(通过 CLI 工具或使用某种语言的某些库)

例如,给定test.html

<!DOCTYPE html>
<html>
  <body>
    <p id="demo"></p>
    <script>
      document.getElementById("demo").innerHTML = "Hello JavaScript!";
    </script>
  </body>
</html>

我想得到结果

<html>
  <body>
    <p id="demo">Hello JavaScript!</p>
    <script>
      document.getElementById("demo").innerHTML = "Hello JavaScript!";
    </script> 
  </body>
</html>
4

2 回答 2

0

快速搜索后,看起来watin会做你想做的事。

它的目标是自动化测试,但是当它到达一个页面时,它将执行所有 js 以及 ajax 调用等。看起来你也可以从中获取结果 html。

于 2015-11-19T17:32:25.860 回答
0

答案基于@torazaburo 的评论

事实上,phantomjs能够评估 javascript 并生成 html。

这是它的样子,执行phantomjs load_page.js path_to/test.html

var page = require('webpage').create(),
    system = require('system'),
    page_address;
var fs = require('fs');
if (system.args.length === 1){
  console.log('Usage: phantomjs ' + system.args[0] + ' <page_to_load:http://www.google.com>');
  phantom.exit();
}
page_address = system.args[1]

page.open(page_address, function(status){
    console.log('Status:' + status);
    if (status === 'success' ){
      fs.write('phantom_result.html', page.content, 'w')
    }
    phantom.exit();
});
于 2015-11-22T05:35:32.463 回答