Есть ли браузер в текстовом режиме, который поддерживает 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

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.


Демо-версия довольно убедительна +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/

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.