Есть ли браузер в текстовом режиме, который поддерживает JavaScript?

53

Мне нужно настроить маршрутизатор удаленно, и ссылки и т. Д. Не будут работать, потому что страница конфигурации маршрутизатора использует javascript и отказывается работать без него.

Очевидно, позор netgear за то, что он этот дерьмо, но есть ли браузер в текстовом режиме, который позволит запускать их аборты?

Джон Лоуренс Аспден
источник

Ответы:

18

edbrowse утверждает, что поддерживает JavaScript (но я никогда не использовал его)

Поскольку ed - стандартный редактор, edbrowse может стать стандартным браузером ;-).

Флориан Диш
источник
Я пытался идти по этому пути; Похоже, это не веб-браузер, похожий на Lynx. Это кажется гораздо более полезным, если вы хотите написать скрипт для обхода веб-сайта.
Брайан Ванденберг
16

Проверьте, какая версия elinks у вас есть.

elinks -version
ELinks 0.12pre6 #Not the version that supports ECMAScript

В статье « Создание текстового веб-браузера eLinks с поддержкой JavaScript (в некотором роде ) » описывается, как настроить javascript в elinks.

Он отмечает, что итоговая версия elinks по-прежнему не работает со многими веб-страницами, поэтому, возможно, поэтому поддержка javascript по умолчанию не включена в версии elinks в Ubuntu.

Отмечены и другие, еще менее удачные альтернативы: ссылки2 и расширение w3m + w3m-js.

Краткий обзор команд для создания elinks, поддерживающих ECMAScript, приведен ниже:

wget http://elinks.or.cz/download/elinks-current-0.13.tar.bz2
tar xjvf elinks-current-0.13.tar.bz2
cd elinks-0.13*
./configure
#Check for ECMAScript support. 
make -j8
sudo make install
nealmcb
источник
1
Обратите внимание, что вам нужно установить пакет libmozjs185-dev, иначе 0.13 будет не более полезным, чем 0.12pre6 или любой другой без поддержки ECMAScript. Кроме того, некоторая конфигурация необходима для включения ECMAScript. Смотрите другой ответ для деталей.
Руслан
Похоже libmozjs185, был удален из Ubuntu 18.04 Bionic. Пакеты libmozjs-38-devи libmozjs-52-devсуществуют, но последний код elinks для главной ветки не будет использовать их для компиляции в поддержке JS. Это конкретно хочет mozjs185или mozilla-js.
Дэвид Баукум
1
@DavidBaucum смотрите этот ответ StackOverflow, рассказывающий, как его установить.
Руслан
9

Ни один из приведенных выше ответов не работал для меня из коробки. elinksхотя это единственный способ, на который я способен:

sudo apt install libmozjs185-dev pkg-config libssl-dev

Очень важно установить pkg-config, без него настройка не может обнаружить движок SpiderMonkey Javascript, без libssl-devдоступа к сайтам HTTPS.

wget http://elinks.or.cz/download/elinks-current-0.13.tar.bz2

распаковка:

tar xvf elinks-current-0.13.tar.bz2
cd elinks-0.13-20171228/

затем настройте и проверьте, виден ли javascript:

./configure | grep -i "javascript"

Результат должен быть:

ECMAScript (JavaScript) ......... SpiderMonkey document scripting

если результат

ECMAScript (JavaScript) ......... no 

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

Тогда сделайте источники

make -j8

И установить это:

sudo make install

Теперь включите и попробуйте, запустив:

elinks ./test/ecmascript/protocol.html

Нажмите Alt+ S, O клавишу вниз ( ) и затем Spaceвключите ECMAScript, Alt+ Eпри Enableизменении на1

введите описание изображения здесь

Alt+ Vсохранить и затем ОК

Теперь он может выполнять некоторые Javascript.

Эдуард Флоринеску
источник
1
Как libmozjs185-devбыло удалено из репозиториев Ubuntu Bionic, см. Ответ StackOverflow о том, как его установить.
Руслан
6

Browsh - это современный текстовый браузер, который работает на терминале. Согласно его веб-сайту, «он отображает все, что может современный браузер; HTML5, CSS3, JS, видео и даже WebGL». Это работает намного лучше, чем elinks. Он написан на Go, поэтому доступен на большинстве основных платформ (Linux, Mac, Windows). Там также демо, которые могут быть доступны через SSH: $ ssh brow.sh.

otter.pro
источник
Демо-версия довольно убедительна +1
Эдуард Флоринеску
4

В Linux Journal есть хорошая таблица сравнения возможностей

Энди
источник
10
Хотел бы отметить, что в настоящее время этой статье более 10 лет, начиная с 2005 года.
user1359
1

Смотрите этот ответ : начиная с версии 0.23, Web Adjuster имеет опцию PhantomJS, которая может частично включить Javascript для любого браузера с помощью PhantomJS. Я говорю «частично», потому что он (пока?) Не работает с формами POST и ссылками только на Javascript, но он хорошо подходит для чтения текста страницы, для которого требуется Javascript, прежде чем показывать вам этот текст.

sudo apt-get install python-selenium
wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-i686.tar.bz2
tar -jxvf phantomjs-2.1.1-linux-i686.tar.bz2 
cd phantomjs-2.1.1-linux-i686/
sudo mv bin/phantomjs /usr/local/bin/
cd ..
sudo apt-get install python-tornado
wget http://ssb22.user.srcf.net/adjuster/adjuster.py
python adjuster.py --PhantomJS --real_proxy

и в другом окне или вкладке

http_proxy=http://localhost:28080 lynx http://site-that-needs-javascript.example.com/

Раскрытие информации: сопровождающий Веб-Настройщик здесь.

Сайлас С. Браун
источник