Как я могу выполнить JavaScript в Bash? - PullRequest
3 голосов
/ 27 апреля 2009

Я пытаюсь попасть на страницу прямо из Bash по адресу http://www.ocwconsortium.org/. Страница появляется, когда вы пишете математику в поле в верхнем правом углу. Я проверял

открыто http://www.ocwconsortium.org/#mathematics

но это приводит к главной странице. Это явно какая-то вещь JavaScript. Как я могу получить результаты прямо из Bash на первой странице?

[Разъяснение]

Давайте рассмотрим пример. У меня есть следующие строки для поисковой системы Math в .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 ]

3 голосов
/ 27 апреля 2009
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"

Вам нужны кавычки, потому что URL содержит символы, которые оболочка считает специальными.

3 голосов
/ 27 апреля 2009

Веб-браузер Links более или менее запускается из командной строки (например, lynx) и поддерживает базовый JavaScript.

Хотя название поста звучит в целом, ваш вопрос очень специфичен. Мне неясно, чего вы пытаетесь достичь в конце концов. Ясно, что вы можете получить доступ к сайтам, которые сильно зависят от javascript (иначе вы не сможете разместить свой вопрос здесь), поэтому я уверен, что вы можете открыть упомянутый сайт в обычном браузере.

Если вы просто хотите выполнить javascript из командной строки (как следует из заголовка), это легко, если вы запускаете bash через cygwin. Вы просто вызываете cscript.exe и предоставляете имя сценария .js того, что хотите выполнить.

1 голос
/ 27 апреля 2009

Я ничего не обработал с помощью 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

Замена mathematics (сразу после q=) должна работать. Возможно, вам удастся убрать часть этой строки запроса, но я попробовал пару вещей, и это не понравилось

Не забудьте закодировать ваш запрос для URL.

0 голосов
/ 05 мая 2011

Проверьте это: http://www.phantomjs.org/.

PhantomJS - это инструмент CLI, который работает с полноценным браузером без Chrome.

0 голосов
/ 27 апреля 2009

Вам потребуется проанализировать ответ, найти URL-адрес, открываемый с помощью JavaScript, а затем open этот URL-адрес.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...