Kommandozeilenbrowser mit js Unterstützung

39

Kennt jemand einen guten Kommandozeilenbrowser mit js-Unterstützung?

Idealerweise benötige ich folgende Fähigkeiten:

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

Dies bedeutet, dass der Cli-Browser HTML herunterlädt, js ausführt und eine Seite ausgibt.

Eugene Manuilov
quelle
1
Ich habe nicht wirklich damit gespielt, aber vielleicht könnte es uzbl ( uzbl.org ) tun.
LawrenceC

Antworten:

36

Mir ist kein interaktiver Browser mit js-Unterstützung bekannt, aber Sie sollten sich PhantomJS ansehen, das wie folgt definiert ist:

PhantomJS ist ein headless WebKit mit JavaScript API. Es bietet schnelle und native Unterstützung für verschiedene Webstandards: DOM-Verarbeitung, CSS-Auswahl, JSON, Canvas und SVG.

So rufen Sie den Inhalt der Seite nach dem Rendern ab:

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

mit save_page.js:

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

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

Ein interessantes Nebenprojekt ist phantomjs-node, das PhantomJS mit NodeJS integriert , sodass ersteres als NodeJS-Modul verwendet werden kann.

Shadok
quelle
Spot on. Genau das, wonach ich gesucht habe. Ich musste meine Frage am Ende nicht stellen
Sevenearths
2
Ich habe es gerade auf einer Seite ausprobiert, die ich selbst erstellt habe. Es wird ein Dump der Seite ausgeführt, bevor das Javascript ausgeführt wird. Irgendwelche Vorschläge?
Abalter
@abalter: Das bedeutet natürlich, dass Ihre Seite einen Syntaxfehler enthält.
Julie Pelletier
5

Edbrowse, ein Editor / Browser im Ed-Stil, der für blinde Benutzer optimiert wurde, aber von Sysadmins wegen seiner Skriptfähigkeit geschätzt wird, behauptet, Javascript zu unterstützen, das auf Mozillas Engine basiert. Es ist bei http://the-brannons.com/edbrowse/ .

Jonas Kölker
quelle
4

Wenn Sie unter Linux arbeiten, können Sie Firefox mit Ruby (und vermutlich mit anderen Sprachbindungen) mit watir-webdriver fernsteuern . Nachdem Sie es funktioniert haben, können Sie es ohne Anzeige zum Laufen bringen (aber immer noch auf die Seite klicken, herunterladen oder hochladen) Daten kratzen) mit Xvfb ,

user48918
quelle
3

Laut Dokumentation fürelinks unterstützt es JavaScript. Informationen zur Installation von SpiderMonkey finden Sie in Abschnitt 2.6.1.

Bis auf weiteres angehalten.
quelle
1
Es hängt davon ab, wie Sie die Links (oder Elinks) kompilieren
kokosing
2

Wenn ein PNG der Webseite ausreicht und Sie die HTML-Quelle nicht benötigen, sollten Sie in der Lage sein webkit-image, ein kleines Befehlszeilen-Dienstprogramm zu verwenden, das mit Ubuntu geliefert wird. Es ist jedoch nicht gerade eine funktionsreiche Anwendung, so dass es nicht viele Anpassungsmöglichkeiten bietet. Es könnte jedoch ein guter Ausgangspunkt für weiteres Hacken sein und damit möglicherweise sogar das relativ einfache Abrufen der verarbeiteten HTML-Ausgabe ermöglichen.

Grumbel
quelle