Navigateur de ligne de commande avec support js

39

Est-ce que quelqu'un connaît un bon navigateur en ligne de commande avec support js?

Idéalement, j'ai besoin de la capacité suivante:

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

Cela signifie que le navigateur cli télécharge le code HTML, exécute js et affiche une page.

Eugene Manuilov
la source
1
Je n'ai pas vraiment joué avec, mais peut-être que uzbl ( uzbl.org ) pourrait le faire.
LawrenceC

Réponses:

36

Je ne connais pas de navigateur interactif prenant en charge js, mais vous devriez jeter un coup d'œil à PhantomJS, défini comme suit:

PhantomJS est un WebKit sans tête avec une API JavaScript. Il prend en charge de manière rapide et native diverses normes Web: gestion du DOM, sélecteur CSS, JSON, Canvas et SVG.

Pour obtenir le contenu de la page après son rendu:

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

avec save_page.js:

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

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

Un projet parallèle intéressant est phantomjs-node, qui intègre PhantomJS à NodeJS , ce qui permet d’utiliser ce dernier en tant que module NodeJS.

Shadok
la source
Spot sur. Exactement ce que je cherchais. Je n'ai pas eu besoin de poser ma question à la fin
Sevenearths
2
Je viens d'essayer cela sur une page que j'ai créée moi-même. Il décharge la page avant que le javascript s'exécute. Aucune suggestion?
Abalter
@abalter: Cela signifie évidemment qu'il y a une erreur de syntaxe dans votre page.
Julie Pelletier
5

Edbrowse, un éditeur / navigateur de type ed optimisé pour les utilisateurs aveugles mais apprécié par les administrateurs système pour sa scriptabilité, prétend prendre en charge javascript basé sur le moteur de Mozilla. C'est à http://the-brannons.com/edbrowse/ .

Jonas Kölker
la source
4

Si vous utilisez Linux, vous pouvez contrôler Firefox à l’aide de Ruby (et probablement d’autres liaisons de langage) avec watir-webdriver , puis, une fois que vous l’avez fonctionné, vous pouvez le tromper en l’exécutant sans affichage (tout en tapant sur la page, en téléchargeant grattage des données) en utilisant Xvfb ,

utilisateur48918
la source
3

Selon la documentation deelinks , il supporte JavaScript. Voir la section 2.6.1 pour plus d’informations sur l’installation de SpiderMonkey.

En pause jusqu'à nouvel ordre.
la source
1
Cela dépend de la façon dont vous compilez les liens (ou liens)
kokosing
2

Si un fichier PNG de la page Web est suffisant et que vous n'avez pas besoin de la source HTML, vous devriez pouvoir utiliser webkit-imageun petit utilitaire de ligne de commande fourni avec Ubuntu. Cependant, ce n'est pas vraiment une application riche en fonctionnalités, de sorte qu'elle n'offre pas beaucoup de personnalisation, mais qu'elle pourrait être un bon point de départ pour un piratage supplémentaire et donc peut-être même permettre d'obtenir la sortie HTML traitée relativement facilement.

Grumbel
la source