Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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.
Ответить с цитированием
  #2 (permalink)  
Старый 18.09.2015, 10:58
Аспирант
Посмотреть профиль Найти все сообщения от newtimebigtime
 
Регистрация: 16.09.2015
Сообщений: 34

В фантоме в модуле fs нет ф-ции readFile, насколько я понял.
Ответить с цитированием
  #3 (permalink)  
Старый 18.09.2015, 11:01
Аспирант
Посмотреть профиль Найти все сообщения от newtimebigtime
 
Регистрация: 16.09.2015
Сообщений: 34

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

phantomjs --version --> 1.9.8
Ответить с цитированием
  #4 (permalink)  
Старый 18.09.2015, 11:23
Аспирант
Отправить личное сообщение для mrbanan Посмотреть профиль Найти все сообщения от mrbanan
 
Регистрация: 28.08.2015
Сообщений: 40

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

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

Последний раз редактировалось mrbanan, 18.09.2015 в 11:27.
Ответить с цитированием
  #5 (permalink)  
Старый 18.09.2015, 12:06
Аспирант
Посмотреть профиль Найти все сообщения от newtimebigtime
 
Регистрация: 16.09.2015
Сообщений: 34

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает ajax при OnClick по ссылке firefox govorusha AJAX и COMET 8 06.06.2015 14:34
Не работает console.log.apply(this,arguments) - Почему? Почемучкин Javascript под браузер 9 31.10.2014 17:17
Функция не работает без jQuery(function() { shilinpavel jQuery 1 26.10.2011 10:05
$.ajax работает без success но при этом часть кода перезагружается!? saturn Элементы интерфейса 0 16.10.2011 10:09
Не работает код внутри циклов DZHETIGAPA Events/DOM/Window 1 21.06.2011 01:03