Получить javascript визуализированный источник html с помощью phantomjs
Прежде всего, я не ищу никакой помощи в области разработки или тестирования. Также я новичок в phantomjs, и все, что я хочу, это просто операция командной строки phantomjs на терминале linux.
У меня есть html-страница, чье тело отображается некоторым кодом javascript. Мне нужно, чтобы загрузить этот отображаемый html-контент с помощью phantomjs.
У меня нет идеи использовать phantomjs. У меня есть немного опыта в сценариях оболочки. Поэтому я попытался сделать это с помощью curl
. Но поскольку curl недостаточно для рендеринга javascript, я смог получить только html исходного кода по умолчанию. Полученное содержимое не было загружено. Я слышал, что рубиновый механизатор может выполнить эту работу. Но я не знаю о рубине. Поэтому в ходе дальнейшего исследования я нашел инструмент командной строки phantomjs
. Как это сделать с помощью phantomjs
?
Пожалуйста, не стесняйтесь спрашивать, какую дополнительную информацию мне нужно предоставить.
Ответы
Ответ 1
К сожалению, это невозможно, используя только командную строку PhantomJS. Вы должны использовать Javascript файл, чтобы фактически выполнить что-либо с помощью PhantomJS.
Вот очень простая версия script, которую вы можете использовать
Код, который в основном копируется из fooobar.com/info/414712/...
printSource.js
var system = require('system');
var page = require('webpage').create();
// system.args[0] is the filename, so system.args[1] is the first real argument
var url = system.args[1];
// render the page, and run the callback function
page.open(url, function () {
// page.content is the source
console.log(page.content);
// need to call phantom.exit() to prevent from hanging
phantom.exit();
});
Чтобы напечатать источник страницы до стандартного.
phantomjs printSource.js http://todomvc.com/examples/emberjs/
Чтобы сохранить источник страницы в файле
phantomjs printSource.js http://todomvc.com/examples/emberjs/ > ember.html