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

Lynx с javascript

Итак, я написал script в PHP, который требует, чтобы javascript работал с ним. Мне было трудно найти решение о том, как запустить javascript с php в то же время, используя некоторый инструмент linux, чтобы сделать его автоматическим (поскольку запуск его в моем браузере не является выбором, мне нужно, чтобы он был crontab). Использование команды "php" не является выбором, поскольку он не запускает javascript. Поэтому я нашел решение, это была рысь.

Итак, вот моя проблема: по какой-то причине javascript работает в моем браузере просто отлично, но не в рыси. Используя lynx, страница просто загружается без участия javascript. Есть ли способ отладки javascript в lynx, что у Google Chrome есть, где вы можете просматривать, что происходит с консоли, поэтому я могу узнать, что заставляет script не запускаться в lynx?

Edit:

Так что, очевидно, lynx не поддерживает javascript. В этом случае мой вопрос: что делать? Мне нужно запустить этот script как браузер, но из командной строки linux. И если ОС имеет значение в этом случае, я запускаю последнюю версию Ubuntu.

4b9b3361

Ответ 1

Lynx не поддерживает Javascript.

Обновление 1

Основываясь на сводке того, что вы пытаетесь сделать (войдите на сайт, на котором требуется JavaScript для шифрования паролей), я настоятельно рекомендую вам использовать Selenium или другой пакет автоматизации браузера. Даже если вы получите правильное представление пароля без такого слоя, на сайте, вероятно, появятся другие проблемы, если вы используете минималистский браузер, такой как Lynx.

Ответ 2

Lynx не поддерживает JavaScript, но альтернативный текстовый браузер ELinks работает на основе SpiderMonkey. Это несколько экспериментально; см. manual о том, как его скомпилировать.

Кроме того, я действительно озадачен тем, что вы пытаетесь сделать здесь...

Ответ 3

Что вам нужно, называется Безглавым браузером. Например, PhantomJS является одним из них. Я думаю, что это самый популярный.

Ответ 4

Если вы хотите выполнить Javascript из командной строки, я бы посоветовал вам что-то вроде nodejs или otto. Они имеют гораздо меньший размер производительности в целом без браузера.

Если вам нужно больше, чем просто Javascript, например. DOM или так, вы должны попробовать браузер без браузера (Chrome, PhantomJS), как это было предложено другими.

Если вам нужен не только браузер, но и хотите сделать автоматическое тестирование с этим браузером, Selenium по-прежнему остается.

Это действительно зависит от вашего случая использования, сколько вам нужно.

Обновление. Через несколько месяцев можно использовать Chrome в качестве браузера без браузера (Firefox тоже на пути).

Ответ 5

Селен - это путь, но, как вы заметили, ему нужен дисплей. Который тогда должен быть запущен, и yada yada yada, теперь у вас есть довольно сложная установка!

К счастью, существует еще один способ автоматизации всего этого, и он через систему автоматизации. Я рекомендую Дженкинса. У него уже есть аддон для запуска x-сервера.

Итак, примерный конвейер выглядит следующим образом:

  • Забудьте о crontab
  • Настройка сервера jenkins ubuntu (с установленным x)
  • Установите jenkins xvncserver (?) addon - я думаю, что он назвал. В любом случае это автоматически запустит XHOST.
  • Пишите скрипты webelriver selenium, которые идут в соответствующее место (проще всего использовать Selenium IDE).
  • Получите IDE селена в сценарии webdriver в любом формате, а затем запустите jenkins. Я лично использую формат Java, затем использую ant для их создания.

Как вы можете себе представить, это довольно сложная настройка, но она технически будет делать то, что вы просите. Мне жаль, что это не так просто, как трубопровод wget для рыси.

Еще один способ - просто переписать свою веб-страницу, чтобы сделать STUFF, не предполагая браузер, например, взять параметр GET, который помещает его в "автоматический режим", а затем он предположит, что он запускается из cron и делает это счастье через более короткое замыкание.