JavaScript в HTML
Учитывая веб-страницу с кодом 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>
2 ответа
Решение
Ответ основан на комментарии @torazaburo
Фактически, фантомы способны оценивать 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();
});
После быстрого поиска, похоже, что Ватин будет делать то, что вы хотите.
Он нацелен на автоматическое тестирование, но когда он попадает на страницу, он выполняет все js, а также ajax-вызовы и т. Д. Похоже, что вы можете также получить полученный html из него.