如何在Bash中执行javascript?

时间:2009-04-26 22:52:01

标签: javascript bash

我尝试直接从Bash http://www.ocwconsortium.org/到达一页。当您将数学写入右上角的字段时,页面会出现。我测试了

  

打开http://www.ocwconsortium.org/#mathematics

但它会导致主页面。这显然是一些javascript的事情。如何在第一页上直接从Bash获得结果?

[澄清]

我们举一个例子。我在.bashrc中有以下几行数学搜索引擎:

alias mathundergradsearch='/Users/user/bin/mathundergraduate'

单独文件中的内容:

#!/bin/sh                                                                                                                                                                     

q=$1
w=$2
e=$3
r=$4
t=$5

open "http://www.google.com/cse?cx=007883453237583604479%3A1qd7hky6khe&ie=UTF-8&q=$q+$w+$e+$r+$t&hl=en"

现在,我想要一些类似于这个例子的东西。不同之处在于,其他网站包含javascript或其他不允许我查看参数的内容。我怎么知道在哪里放置搜索参数,因为我看不到细节?

5 个答案:

答案 0 :(得分:3)

Links web browser或多或少从命令行运行(如lynx)并支持基本的javascript。

尽管帖子的标题听起来很一般,但你的问题非常具体。我不清楚你到底想要达到的目标。显然,您可以访问严重依赖javascript的网站(否则您将无法在此处发布您的问题),因此我确信您可以在普通浏览器中打开所提到的网站。

如果您只想从命令行执行javascript(如标题所示),如果您通过cygwin运行bash,则很容易。您只需调用cscript.exe并提供您希望执行的.js脚本名称。

答案 1 :(得分:3)

open "http://www.ocwconsortium.org/index.php?q=mathematics&option=com_coursefinder&uss=1&l=&s=&Itemid=166&b.x=0&b.y=0&b=search"

您需要引号,因为该网址包含shell认为特殊的字符。

答案 2 :(得分:1)

我没有得到JavaScript的任何处理 - 它只是把我带到了

http://www.ocwconsortium.org/index.php?q=mathematics&option=com_coursefinder&uss=1&l=&s=&Itemid=166&b.x=0&b.y=0&b=search

替换mathematicsq=之后)应该有效。你可能能够删除一些查询字符串,但我尝试了一些事情而且它并没有很好用。

不要忘记对您的网址查询进行编码。

答案 3 :(得分:0)

您需要解析响应,找到通过JavaScript打开的网址,然后open该网址。

答案 4 :(得分:0)

检查出来:http://www.phantomjs.org/

PhantomJS它是一个CLI工具,可以在没有Chrome的情况下运行真正的,完全成熟的浏览器。