Браузер командной строки с поддержкой js

37

Кто-нибудь знает хороший браузер командной строки с поддержкой js?

В идеале мне нужны следующие способности:

some-browser http://example.com > ~/page.html

Это означает, что браузер загрузит html, выполнит js и выведет страницу.

Евгений Мануйлов
источник
1
Я на самом деле не играл с этим, но, возможно, uzbl ( uzbl.org ) мог бы сделать это.
LawrenceC

Ответы:

35

Я не знаю об интерактивном браузере с поддержкой js, но вы должны взглянуть на PhantomJS, который определяется как:

PhantomJS - это безголовый WebKit с JavaScript API. Он имеет быструю и встроенную поддержку различных веб-стандартов: обработка DOM, селектор CSS, JSON, Canvas и SVG.

Чтобы получить содержимое страницы после ее визуализации:

$ phantomjs save_page.js http://example.com > ~/page.html

с помощью save_page.js:

var system = require('system');
var page = require('webpage').create();

page.open(system.args[1], function()
{
    console.log(page.content);
    phantom.exit();
});

Интересным сайд-проектом является phantomjs-node, который интегрирует PhantomJS с NodeJS , что позволяет использовать первый в качестве модуля NodeJS.

Shadok
источник
Пятно на. Как раз то, что я искал. Мне не нужно было задавать мой вопрос в конце
Семь Земель
2
Я только что попробовал это на странице, которую создал сам. Это сбрасывает страницу перед запуском javascript. Какие-либо предложения?
17
@abalter: Это, очевидно, означает, что на вашей странице есть синтаксическая ошибка.
Джули Пеллетье
5

Edbrowse, редактор / браузер в стиле ed, оптимизированный для слепых пользователей, но высоко ценимый sysadmins за возможность написания сценариев, заявляет о поддержке javascript на основе движка Mozilla. Это на http://the-brannons.com/edbrowse/ .

Йонас Кёлкер
источник
4

Если вы работаете в Linux, вы можете удаленно управлять Firefox с помощью Ruby (и, вероятно, других языковых привязок) с помощью watir-webdriver , а затем, после того, как он заработает , вы можете заставить его работать без отображения (но по-прежнему нажимать на страницу, загружая загрузку или очистка данных) с использованием Xvfb ,

user48918
источник
3

Согласно документацииelinks , он поддерживает JavaScript. См. Раздел 2.6.1 для получения информации об установке SpiderMonkey.

Деннис Уильямсон
источник
1
Это зависит от того, как вы компилируете ссылки (или elinks)
kokosing
2

Если PNG веб-страницы достаточно и вам не нужен источник HTML, вы должны иметь возможность использовать webkit-imageнебольшую утилиту командной строки, которая поставляется с Ubuntu. Однако это не совсем многофункциональное приложение, поэтому оно не предлагает особых настроек, однако может стать хорошей отправной точкой для дальнейшего взлома и, таким образом, может даже позволить относительно легко получить обработанный HTML-вывод.

Grumbel
источник