Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   Работает ли PhantomJS без Node.js? (https://javascript.ru/forum/library-toolkit-framework/58372-rabotaet-li-phantomjs-bez-node-js.html)

mrbanan 18.09.2015 10:28

Работает ли 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 работает, т.е. Фантому Нода не нужна, а документацию тогда по работе с файловой системой где читать? От ноды всё равно, т.к. другой нет?

newtimebigtime 18.09.2015 10:58

В фантоме в модуле fs нет ф-ции readFile, насколько я понял.

newtimebigtime 18.09.2015 11:01

require("fs").readFile --> undefined

phantomjs --version --> 1.9.8

mrbanan 18.09.2015 11:23

Заработал этот вариант
fs.write('/полный_путь/articles.txt', "some data", "wba")

У меня почему-то фантом 1.9.0 установился... Обновить фантом можно какой-то командой?

newtimebigtime 18.09.2015 12:06

Цитата:

Сообщение от mrbanan
Обновить фантом можно какой-то командой?

Не знаю, я на debian из unstable-репов устанавливал. Смотри для своей оси. Собственно, какая разница, если ты со своей проблемой разобрался. Не все ли рвно, какая версия стоит.


Часовой пояс GMT +3, время: 05:09.