


Tutoriel de démarrage rapide PhantomJS (API WebKit JavaScript côté serveur)_compétences javascript
PhantomJS est une API JavaScript côté serveur basée sur WebKit. Il prend entièrement en charge le Web sans nécessiter la prise en charge du navigateur, et il est rapide et prend en charge nativement diverses normes Web : traitement DOM, sélecteurs CSS, JSON, Canvas et SVG. PhantomJS peut être utilisé pour l'automatisation des pages, la surveillance du réseau, les captures d'écran de pages Web et les tests sans interface, etc.
Site officiel de PhantomJs : http://phantomjs.org/
GitHub :https://github.com/ariya/phantomjs/wiki/Quick-Start
1.Installation
Adresse de téléchargement du package d'installation : http://phantomjs.org/download.html, y compris les versions Windows, Mac OS et Linux. Vous pouvez choisir la version correspondante à télécharger et décompresser (pour plus de commodité, vous pouvez définir des variables d'environnement pour phantomjs), qui contient un dossier d'exemple avec beaucoup de code déjà écrit à utiliser. Cet article suppose que phantomjs a été installé et que les variables d'environnement ont été définies.
2. Utiliser
Bonjour le monde !
Créez un nouveau fichier texte contenant les deux lignes de script suivantes :
console.log('Hello, world!'); phantom.exit();
Enregistrez le fichier sous hello.js et exécutez-le :
phantomjs bonjour.js
Le résultat de sortie est : Bonjour tout le monde !
La première ligne imprimera la chaîne dans le terminal et la deuxième ligne phantom.exit quittera l'opération.
Il est très important d'appeler phantom.exit dans ce script, sinon PhantomJS ne s'arrêtera pas du tout.
Arguments de script – Arguments de script
Comment passer des paramètres dans Phantomjs ? Comme indiqué ci-dessous :
phantomjs exemples/arguments.js foo bar baz
Foo, bar, baz sont les paramètres à passer. Comment les obtenir :
var system = require('system'); if (system.args.length === 1) { console.log('Try to pass some args when invoking this script!'); } else { system.args.forEach(function (arg, i) { console.log(i + ': ' + arg); }); } phantom.exit();
Il affichera :
0 : foo
1 : barre
2 : baz
Chargement de la page – Chargement de la page
En créant un objet de page Web, une page Web peut être chargée, analysée et rendue.
Le script suivant utilise l'exemple d'objet page dans sa forme la plus simple. Il charge example.com et l'enregistre sous forme d'image, example.png .
var page = require('webpage').create(); page.open('http://example.com', function () { page.render('example.png'); phantom.exit(); });
Grâce à cette fonctionnalité, PhantomJS peut être utilisé pour prendre des captures d'écran de pages Web et prendre des instantanés de certains contenus, comme l'enregistrement de pages Web et de SVG sous forme d'images, de PDF, etc. Cette fonction est géniale.
Le prochain script loadspeed.js charge une URL spéciale (n'oubliez pas le protocole http) et mesure le temps nécessaire pour charger la page.
var page = require('webpage').create(), system = require('system'), t, address; if (system.args.length === 1) { console.log('Usage: loadspeed.js <some URL>'); phantom.exit(); } t = Date.now(); address = system.args[1]; page.open(address, function (status) { if (status !== 'success') { console.log('FAIL to load the address'); } else { t = Date.now() - t; console.log('Loading time ' + t + ' msec'); } phantom.exit(); });
Exécutez ce script depuis la ligne de commande :
phantomjs loadspeed.js http://www.google.com
Cela donne quelque chose comme :
Chargement http://www.google.com Temps de chargement 719 ms
Évaluation du code – Évaluation du code
Pour évaluer JavaScript ou CoffeeScript dans le contexte d'une page Web, utilisez la méthode évaluer(). Le code s'exécute dans un "bac à sable" et n'a aucun moyen de lire des objets et variables JavaScript en dehors du contexte de la page à laquelle il appartient. évalue() renvoie un objet, mais il est limité aux objets simples et ne peut pas contenir de méthodes ou de fermetures.
Voici un exemple pour afficher le titre de la page :
var page = require('webpage').create(); page.open(url, function (status) { var title = page.evaluate(function () { return document.title; }); console.log('Page title is ' + title); });
Toutes les informations de console de la page Web et y compris le code d'evaluate() ne seront pas affichées par défaut. Pour remplacer ce comportement, utilisez la fonction de rappel onConsoleMessage. L'exemple précédent peut être réécrit comme suit :
.var page = require('webpage').create(); page.onConsoleMessage = function (msg) { console.log('Page title is ' + msg); }; page.open(url, function (status) { page.evaluate(function () { console.log(document.title); }); });
Manipulation DOM – Manipulation DOM
Étant donné que le script s'exécute comme s'il s'agissait d'un navigateur Web, les scripts DOM standard et les sélecteurs CSS fonctionnent correctement. Cela rend PhantomJS adapté à la prise en charge d'une variété de tâches d'automatisation de pages.
Le useragent.js suivant lira l'attribut textContent de l'élément avec l'identifiant myagent :
var page = require('webpage').create(); console.log('The default user agent is ' + page.settings.userAgent); page.settings.userAgent = 'SpecialAgent'; page.open('http://www.httpuseragent.org', function (status) { if (status !== 'success') { console.log('Unable to access network'); } else { var ua = page.evaluate(function () { return document.getElementById('myagent').textContent; }); console.log(ua); } phantom.exit(); });
L'exemple ci-dessus fournit également un moyen de personnaliser l'agent utilisateur.
Utilisez JQuery et d'autres bibliothèques :
var page = require('webpage').create(); page.open('http://www.sample.com', function() { page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", function() { page.evaluate(function() { $("button").click(); }); phantom.exit() }); });
Demandes et réponses réseau – Demandes et réponses réseau
Lorsqu'une page demande une ressource à un serveur distant, la demande et la réponse peuvent être suivies via les méthodes de rappel onResourceRequested et onResourceReceived. Exemple netlog.js :
var page = require('webpage').create(); page.onResourceRequested = function (request) { console.log('Request ' + JSON.stringify(request, undefined, 4)); }; page.onResourceReceived = function (response) { console.log('Receive ' + JSON.stringify(response, undefined, 4)); }; page.open(url);
Pour plus d'informations sur l'utilisation de cette fonctionnalité pour la sortie HAR et l'analyse des performances basée sur YSlow, veuillez vous référer à la Page de surveillance du réseau.

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Démarrage rapide : comment installer la bibliothèque pandas dans Python nécessite des exemples de code spécifiques 1. Présentation Python est un langage de programmation largement utilisé avec un puissant écosystème de développement qui comprend de nombreuses bibliothèques pratiques. Pandas est l'une des bibliothèques d'analyse de données les plus populaires. Elle fournit des structures de données et des outils d'analyse de données efficaces, facilitant le traitement et l'analyse des données. Cet article explique comment installer la bibliothèque pandas en Python et fournit des exemples de code correspondants. 2. Installez Py

Nous commençons cette série en apprenant à animer des éléments HTML à l'aide de mojs. Dans ce deuxième tutoriel, nous continuons à utiliser le module Shape pour animer les formes SVG intégrées. Le troisième didacticiel couvre d'autres façons d'animer des formes SVG à l'aide de ShapeSwirl et du module stagger. Nous allons maintenant apprendre à animer différentes formes SVG en rafales à l'aide du module Burst. Ce tutoriel dépendra des concepts que nous avons abordés dans les trois premiers tutoriels. Si vous ne les avez pas encore lus, je vous recommande de les lire d'abord. Création d'une animation en rafale de base La première chose que nous devons faire avant de créer une animation en rafale est d'instancier un objet Burst. Ensuite, nous pouvons spécifier différentes propriétés

Démarrage rapide : utilisez les fonctions du langage Go pour implémenter un service de streaming audio simple Introduction : Les services de streaming audio sont de plus en plus populaires dans le monde numérique d'aujourd'hui, ce qui nous permet de lire des fichiers audio directement sur le réseau sans effectuer de téléchargement complet. Cet article explique comment utiliser les fonctions du langage Go pour implémenter rapidement un service de streaming audio simple afin que vous puissiez mieux comprendre et utiliser cette fonction. Étape 1 : Préparation Tout d'abord, vous devez installer l'environnement de développement du langage Go. Vous pouvez le télécharger sur le site officiel (https://golan

Démarrage rapide : utilisez les fonctions du langage Go pour implémenter des fonctions simples de reconnaissance d'images. Dans le développement technologique actuel, la technologie de reconnaissance d'images est devenue un sujet brûlant. En tant que langage de programmation rapide et efficace, le langage Go a la capacité d'implémenter des fonctions de reconnaissance d'images. Cet article fournira aux lecteurs un guide de démarrage rapide en utilisant les fonctions du langage Go pour implémenter des fonctions simples de reconnaissance d'images. Tout d’abord, nous devons installer l’environnement de développement du langage Go. Vous pouvez télécharger la version appropriée sur le site officiel de Go Language (https://golang.org/)

Titre : Démarrez rapidement : cinq cadres de langage Go courants recommandés Ces dernières années, avec la popularité du langage Go, de plus en plus de développeurs ont choisi d'utiliser Go pour le développement de projets. Le langage Go a reçu une large attention pour son efficacité, sa simplicité et ses performances supérieures. Dans le développement du langage Go, le choix d'un framework approprié peut améliorer l'efficacité du développement et la qualité du code. Cet article présentera cinq frameworks couramment utilisés dans le langage Go et joindra des exemples de code pour aider les lecteurs à démarrer rapidement. Framework Gin Gin est un framework Web léger, rapide et efficace.

Démarrage rapide : un guide d'utilisation de cinq outils de visualisation Kafka 1. Outils de surveillance Kafka : Introduction Apache Kafka est un système de messagerie distribué de publication-abonnement qui peut gérer de grandes quantités de données et fournir un débit élevé et une faible latence. En raison de la complexité de Kafka, des outils de visualisation sont nécessaires pour faciliter la surveillance et la gestion des clusters Kafka. 2.Outils de visualisation Kafka : cinq choix majeurs KafkaManager : KafkaManager est une communauté web open source

Utilisation de Selenium et PhantomJSScrapy dans le robot d'exploration Scrapy Scrapy est un excellent framework de robot d'exploration Web sous Python et a été largement utilisé dans la collecte et le traitement de données dans divers domaines. Dans la mise en œuvre du robot, il est parfois nécessaire de simuler les opérations du navigateur pour obtenir le contenu présenté par certains sites Web. Dans ce cas, Selenium et PhantomJS sont nécessaires. Selenium simule les opérations humaines sur le navigateur, nous permettant d'automatiser les tests d'applications Web

Démarrage rapide : utilisez les fonctions du langage Go pour implémenter un affichage simple de graphiques linéaires de visualisation de données Introduction : Dans le domaine de l'analyse et de la visualisation des données, les graphiques linéaires sont un type de graphique couramment utilisé qui peut montrer clairement la tendance des changements de données au fil du temps ou d'autres variables. Cet article expliquera comment utiliser les fonctions du langage Go pour implémenter un affichage simple de graphique linéaire de visualisation de données et fournira des exemples de code pertinents. 1. Avant de commencer le travail de préparation, vous devez vous assurer des conditions suivantes : installer l'environnement linguistique Go et définir les variables d'environnement pertinentes. Installer les dépendances nécessaires
