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.


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.


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/ .


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 ,



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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.