是否有支持javascript的文本模式浏览器?


53

我需要远程配置路由器,链接等将无法使用,因为路由器配置页面使用了javascript并拒绝在没有它的情况下运行。

显然,对netgear感到羞耻是因为这种废话,但是是否有文本模式浏览器可以让他们堕胎呢?

Answers:



16

检查您拥有的elink版本。

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

文章“ 使用(某种)JavaScript支持构建eLinks基于文本的Web浏览器 ”介绍了如何在elinks中配置javascript。

它指出,生成的elinks版本仍然无法在许多网页上使用,这也许就是为什么在Ubuntu的elinks版本中默认情况下未启用javascript支持的原因。

还指出了其他甚至不太成功的替代方案:links2和w3m + w3m-js扩展。

以下是用于构建支持ECMAScript的elink的命令的快速摘要:

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。有关详细信息,请参见另一个答案
Ruslan '18

看来libmozjs185已从Ubuntu 18.04 Bionic中删除。软件包libmozjs-38-devlibmozjs-52-dev存在,但是最新的elink主分支代码不会使用它们来编译JS支持。它特别想要mozjs185mozilla-js
David Baucum,

1
@DavidBaucum看到此StackOverflow答案,告诉它如何安装。
Ruslan

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+ SO 按键(),然后SpaceECMAScriptAlt+ EEnable改变1

在此处输入图片说明

Alt+ V保存,然后确定

现在,它可以执行一些 Javascript。


1
正如libmozjs185-dev已经从Ubuntu Bionic存储库中删除的那样,请参阅此StackOverflow答案以了解如何安装它。
Ruslan

6

Browsh是一种现代的基于文本的浏览器,可在终端上运行。根据其网站的说法,“它可以呈现现代浏览器可以实现的任何功能; HTML5,CSS3,JS,视频甚至WebGL”。它比elinks。它是用Go语言编写的,因此可以在大多数主要平台(Linux,Mac,Windows)上使用。还有一个实时演示,可以通过SSH:进行访问$ ssh brow.sh


该演示非常令人信服+1
爱德华·弗洛里内斯库


1

看到这个答案:从v0.23开始,Web Adjuster具有PhantomJS选项,该选项可以在PhantomJS的帮助下部分启用任何浏览器的Javascript。我之所以说“部分地”,是因为它还不能使用POST表单和纯Java链接,但是在显示需要Java脚本的页面之前,可以阅读该文本。

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/

披露:Web调整器维护者在这里。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.