Показать сообщение отдельно
  #1 (permalink)  
Старый 18.09.2015, 10:28
Аспирант
Отправить личное сообщение для mrbanan Посмотреть профиль Найти все сообщения от mrbanan
 
Регистрация: 28.08.2015
Сообщений: 40

Работает ли PhantomJS без Node.js?
Скрипт работает, сообщения status и Page loaded в консоли есть
var fs = require('fs');

var webPage = require('webpage');
var page = webPage.create();

page.open('http://www.google.com/', function(status) {
  console.log('Status: ' + status);
  // Do other things here...
  if (status === 'success') {
    console.log('Page loaded');

    // Подключаем jQuery
    page.injectJs('/var/www/wik/data/www/bestscare.ru/jquery-1.11.3.min.js');

      // Получаем нужный контент со страницы
    html = page.evaluate(function() {
        titles = '';
        $('.post_title').each(function(){
          titles += $(this).html() + '\n';
        });
        return titles;
    });
    
    // переопределим на случай если контент не получим и попытаемся записать слово test в файл
    html = 'test'; 
    // Пишем в файл
    var file = fs.open('articles.txt', "w+");
    file.write(html + '\n');
    file.close();
    phantom.exit();
  }
});

Но запись в файл не происходит (права на файл 777).
Пробовал.
fs.write('articles.txt', "some data", "wba")

Не записывает, файл пустой.
Если попытаться прочитать:
fs.readFile('/var/www/user/data/www/site.ru/articles.txt', function (err, data) {
          if (err) throw err;
          console.log(data);
        });

Ошибка:
TypeError: 'undefined' is not a function (evaluating 'fs.readFile')
/var/www/user/data/www/site.ru/file1.js:35
:/modules/webpage.js:281

Вопрос: от чего всё это? Люди говорят что у них без Node.js работает, т.е. Фантому Нода не нужна, а документацию тогда по работе с файловой системой где читать? От ноды всё равно, т.к. другой нет?

Последний раз редактировалось mrbanan, 18.09.2015 в 10:31.
Ответить с цитированием