Подтвердить что ты не робот

Получить javascript визуализированный источник html с помощью phantomjs

Прежде всего, я не ищу никакой помощи в области разработки или тестирования. Также я новичок в phantomjs, и все, что я хочу, это просто операция командной строки phantomjs на терминале linux.

У меня есть html-страница, чье тело отображается некоторым кодом javascript. Мне нужно, чтобы загрузить этот отображаемый html-контент с помощью phantomjs.

У меня нет идеи использовать phantomjs. У меня есть немного опыта в сценариях оболочки. Поэтому я попытался сделать это с помощью curl. Но поскольку curl недостаточно для рендеринга javascript, я смог получить только html исходного кода по умолчанию. Полученное содержимое не было загружено. Я слышал, что рубиновый механизатор может выполнить эту работу. Но я не знаю о рубине. Поэтому в ходе дальнейшего исследования я нашел инструмент командной строки phantomjs. Как это сделать с помощью phantomjs?

Пожалуйста, не стесняйтесь спрашивать, какую дополнительную информацию мне нужно предоставить.

4b9b3361

Ответ 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