Вопрос

Поэтому я написал сценарий в PHP, который требует, чтобы JavaScript работал с ним. Мне было трудно найти решение о том, как запустить JavaScript с PHP одновременно, используя какой -то инструмент Linux, чтобы сделать его автоматическим (так как запуск его в браузере не является выбором, мне нужно, чтобы он был Crontab ) Использование команды «PHP» тоже не является выбором, поскольку она не запускает JavaScript. Поэтому я нашел решение, это была рысь.

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

Редактировать:

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

Это было полезно?

Решение

Линкс не поддерживает JavaScript.

Обновление 1

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

Другие советы

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

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

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

Если вы хотите только выполнить JavaScript Из командной строки я бы посоветовал вам что -то вроде Nodejs или же Отто. Анкет У них гораздо меньший след в качестве безголового браузера.

Если вам нужно больше, чем просто JavaScript, например, DOM или около того, вы должны попробовать Безголовный браузер (Хром, Phantomjs) как предполагается другими.

Если вам нужен не только браузер, но и вы хотите сделать Автоматизированное тестирование с этим браузером, Селен все еще путь.

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

Обновлять: Поскольку несколько месяцев можно использовать Chrome как безголовный браузер Сейчас (Firefox тоже в пути).

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

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

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

  • Забудь о Crontab
  • Настройка сервера Jenkins Ubuntu (с установленным x)
  • Установите аддон Jenkins xvncserver (?) - я думаю, что это так. В любом случае, это автоматически запустит вам xhost.
  • Напишите сценарии Selenium Webdriver, которые идут в рассматриваемое место (самый простой * - использовать Selenium IDE)
  • Получите Selenium IDE выводить сценарии Webdriver в любой формат, а затем попросите Jenkins запустить его. Я лично использую формат Java, а затем использую муравей для их построения.

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

Еще один путь - это просто переписать вашу веб -страницу, чтобы сделать что -то, не предполагая, например, браузера, возьмите параметр GET, который помещает его в «Автоматический режим», а затем он будет предполагать, что он запускается из крона и сделает свое счастье через более короткий схему Анкет

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top