Любой способ запустить Firefox со скриптами GreaseMonkey без сеанса GUI / X - PullRequest
3 голосов
/ 21 января 2010

Мне нужно создать небольшой скребок для мониторинга для стороннего веб-сайта (это внешний веб-сайт, на котором есть статистика о наших посетителях).

К сожалению, этот сайт очень трудно разобрать с помощью обычного механизма "wget", потому что он использует тонну сложных JS, часть которых генерируется GWT. Таким образом, мой обходной путь состоял в том, чтобы создать сценарий GreaseMonkey и затем заставить этот сценарий вызывать страницу PHP, которая будет регистрировать очищенные данные. Затем, как только Firefox запускается с этой веб-страницы, скрипт начинает работать.

Это хорошо работает, но сейчас я пытаюсь сделать его более надежным, насколько это возможно, для инструментов мониторинга. Я хочу, чтобы он работал на сервере с помощью задания cron. Насколько я понимаю, для этого требуется установить переменную DISPLAY и создать сеанс X (Firefox отказывается работать для меня). Есть ли какой-нибудь хороший способ запустить его из учетной записи batchuser как задание cron?

Ответы [ 2 ]

3 голосов
/ 21 января 2010

Я сделал нечто похожее, чтобы Selenium работал без сервера на сервере. Я использовал Xvfb.

http://en.wikipedia.org/wiki/Xvfb

В этой статье есть несколько советов по использованию Xvfb с Firefox:

http://semicomplete.com/blog/geekery/xvfb-firefox.html

0 голосов
/ 22 января 2010

Лучший способ сделать это - собрать Firefox в режиме без головы: http://hg.mozilla.org/incubator/offscreen

...