


PhantomJS-Schnellstart-Tutorial (Serverseitiges JavaScript-API-WebKit)_Javascript-Kenntnisse
PhantomJS ist eine serverseitige JavaScript-API basierend auf WebKit. Es unterstützt das Web vollständig, ohne dass Browserunterstützung erforderlich ist, ist schnell und unterstützt nativ verschiedene Webstandards: DOM-Verarbeitung, CSS-Selektoren, JSON, Canvas und SVG. PhantomJS kann für Seitenautomatisierung, Netzwerküberwachung, Webseiten-Screenshots und schnittstellenlose Tests usw. verwendet werden.
Offizielle Website von PhantomJs: http://phantomjs.org/
GitHub:https://github.com/ariya/phantomjs/wiki/Quick-Start
1. Installation
Download-Adresse des Installationspakets: http://phantomjs.org/download.html, einschließlich Windows-, Mac OS- und Linux-Versionen. Sie können die entsprechende Version zum Herunterladen und Dekomprimieren auswählen (der Einfachheit halber). Sie können Umgebungsvariablen für PhantomJS festlegen), wo es einen Beispielordner mit einer Menge bereits geschriebenem Code zur Verwendung gibt. In diesem Artikel wird davon ausgegangen, dass PhantomJS installiert und Umgebungsvariablen festgelegt wurden.
2. Verwendung
Hallo Welt!
Erstellen Sie eine neue Textdatei mit den folgenden zwei Skriptzeilen:
console.log('Hello, world!'); phantom.exit();
Speichern Sie die Datei als hello.js und führen Sie sie aus:
phantomjs hello.js
Das Ausgabeergebnis ist: Hallo Welt!
Die erste Zeile gibt die Zeichenfolge im Terminal aus und die zweite Zeile phantom.exit beendet den Vorgang.
Es ist sehr wichtig, in diesem Skript phantom.exit aufzurufen, sonst stoppt PhantomJS überhaupt nicht.
Skriptargumente – Skriptargumente
Wie übergebe ich Parameter in Phantomjs? Wie unten gezeigt:
phantomjs examples/arguments.js foo bar baz
Foo, bar, baz sind die zu übergebenden Parameter. So erhalten Sie sie:
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();
Es wird ausgegeben:
0: foo
1: Balken
2: baz
Seite wird geladen – Seite wird geladen
Durch das Erstellen eines Webseitenobjekts kann eine Webseite geladen, analysiert und gerendert werden.
Das folgende Skript verwendet das Beispielseitenobjekt in seiner einfachsten Form. Es lädt example.com und speichert es als Bild, example.png.
var page = require('webpage').create(); page.open('http://example.com', function () { page.render('example.png'); phantom.exit(); });
Aufgrund dieser Funktion kann PhantomJS zum Erstellen von Screenshots von Webseiten und zum Erstellen von Schnappschüssen einiger Inhalte verwendet werden, z. B. zum Speichern von Webseiten und SVGs als Bilder, PDFs usw. Diese Funktion ist großartig.
Das nächste Loadspeed.js-Skript lädt eine spezielle URL (vergessen Sie das http-Protokoll nicht) und misst die Zeit, die zum Laden der Seite benötigt wird.
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(); });
Führen Sie dieses Skript über die Befehlszeile aus:
phantomjs loadspeed.js http://www.google.com
Es gibt etwa Folgendes aus:
Laden http://www.google.com Ladezeit 719 ms
Code-Evaluierung – Code-Evaluierung
Um JavaScript oder CoffeeScript im Kontext einer Webseite auszuwerten, verwenden Sie die Methode „evaluieren()“. Der Code läuft in einer „Sandbox“ und hat keine Möglichkeit, JavaScript-Objekte und -Variablen außerhalb des Kontexts der Seite, zu der er gehört, zu lesen. evaluieren() gibt ein Objekt zurück, ist jedoch auf einfache Objekte beschränkt und darf keine Methoden oder Abschlüsse enthalten.
Hier ist ein Beispiel für die Anzeige des Seitentitels:
var page = require('webpage').create(); page.open(url, function (status) { var title = page.evaluate(function () { return document.title; }); console.log('Page title is ' + title); });
Alle Konsoleninformationen von der Webseite und einschließlich Code von „evaluieren()“ werden standardmäßig nicht angezeigt. Um dieses Verhalten zu überschreiben, verwenden Sie die Rückruffunktion onConsoleMessage. Das vorherige Beispiel kann wie folgt umgeschrieben werden:
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); }); });
DOM-Manipulation – DOM-Manipulation
Da das Skript wie ein Webbrowser ausgeführt wird, funktionieren Standard-DOM-Skripte und CSS-Selektoren einwandfrei. Dadurch eignet sich PhantomJS zur Unterstützung einer Vielzahl von Seitenautomatisierungsaufgaben.
Die folgenden useragent.js lesen das textContent-Attribut des Elements mit der ID 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(); });
Das obige Beispiel bietet auch eine Möglichkeit, den Benutzeragenten anzupassen.
Verwenden Sie JQuery und andere Bibliotheken:
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() }); });
Netzwerkanfragen und -antworten – Netzwerkanfragen und -antworten
Wenn eine Seite eine Ressource von einem Remote-Server anfordert, können sowohl die Anfrage als auch die Antwort über die Rückrufmethoden onResourceRequested und onResourceReceived verfolgt werden. Beispiel 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);
Weitere Informationen zur Verwendung dieser Funktion für die HAR-Ausgabe und die YSlow-basierte Leistungsanalyse finden Sie auf der Netzwerküberwachungsseite.

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Schnellstart: Für die Installation der Pandas-Bibliothek in Python sind spezifische Codebeispiele erforderlich. 1. Überblick Python ist eine weit verbreitete Programmiersprache mit einem leistungsstarken Entwicklungsökosystem, das viele praktische Bibliotheken umfasst. Pandas ist eine der beliebtesten Datenanalysebibliotheken. Sie bietet effiziente Datenstrukturen und Datenanalysetools, die die Datenverarbeitung und -analyse erleichtern. In diesem Artikel wird die Installation der Pandas-Bibliothek in Python vorgestellt und entsprechende Codebeispiele bereitgestellt. 2. Installieren Sie Py

Wir beginnen diese Serie damit, dass wir lernen, wie man HTML-Elemente mithilfe von Mojs animiert. In diesem zweiten Tutorial verwenden wir weiterhin das Shape-Modul, um integrierte SVG-Formen zu animieren. Das dritte Tutorial behandelt weitere Möglichkeiten zum Animieren von SVG-Formen mithilfe von ShapeSwirl und dem Stagger-Modul. Jetzt lernen wir, wie man mit dem Burst-Modul verschiedene SVG-Formen in Bursts animiert. Dieses Tutorial basiert auf den Konzepten, die wir in den ersten drei Tutorials behandelt haben. Wenn Sie sie noch nicht gelesen haben, empfehle ich Ihnen, sie zuerst zu lesen. Erstellen einer einfachen Burst-Animation Bevor wir eine Burst-Animation erstellen können, müssen wir zunächst ein Burst-Objekt instanziieren. Anschließend können wir verschiedene Eigenschaften angeben

Schnellstart: Verwenden Sie Go-Sprachfunktionen, um einen einfachen Audio-Streaming-Dienst zu implementieren. Einführung: Audio-Streaming-Dienste erfreuen sich in der heutigen digitalen Welt immer größerer Beliebtheit und ermöglichen es uns, Audiodateien direkt über das Netzwerk abzuspielen, ohne einen vollständigen Download durchführen zu müssen. In diesem Artikel wird erläutert, wie Sie mithilfe der Go-Sprachfunktionen schnell einen einfachen Audio-Streaming-Dienst implementieren, damit Sie diese Funktion besser verstehen und verwenden können. Schritt 1: Vorbereitung Zunächst müssen Sie die Go-Sprachentwicklungsumgebung installieren. Sie können es von der offiziellen Website herunterladen (https://golan

Schnellstart: Verwenden Sie Go-Sprachfunktionen, um einfache Bilderkennungsfunktionen zu implementieren. In der heutigen technologischen Entwicklung ist die Bilderkennungstechnologie zu einem heißen Thema geworden. Als schnelle und effiziente Programmiersprache verfügt die Go-Sprache über die Fähigkeit, Bilderkennungsfunktionen zu implementieren. Dieser Artikel bietet den Lesern eine Kurzanleitung zur Implementierung einfacher Bilderkennungsfunktionen mithilfe der Go-Sprachfunktionen. Zuerst müssen wir die Go-Sprachentwicklungsumgebung installieren. Sie können die entsprechende Version auf der offiziellen Website der Go-Sprache herunterladen (https://golang.org/).

Titel: Schneller Einstieg: Empfohlene fünf gängige Go-Sprach-Frameworks Mit der Popularität der Go-Sprache haben sich in den letzten Jahren immer mehr Entwickler für die Verwendung von Go für die Projektentwicklung entschieden. Die Go-Sprache hat aufgrund ihrer Effizienz, Einfachheit und überlegenen Leistung große Aufmerksamkeit erhalten. Bei der Go-Sprachentwicklung kann die Auswahl eines geeigneten Frameworks die Entwicklungseffizienz und Codequalität verbessern. In diesem Artikel werden fünf häufig verwendete Frameworks in der Go-Sprache vorgestellt und Codebeispiele angehängt, um den Lesern den schnellen Einstieg zu erleichtern. Gin-Framework Gin ist ein leichtes Web-Framework, das schnell und effizient ist.

Schnellstart: Eine Anleitung zur Verwendung von fünf Kafka-Visualisierungstools 1. Kafka-Überwachungstools: Einführung Apache Kafka ist ein verteiltes Publish-Subscribe-Messagingsystem, das große Datenmengen verarbeiten kann und einen hohen Durchsatz und geringe Latenz bietet. Aufgrund der Komplexität von Kafka sind Visualisierungstools erforderlich, die bei der Überwachung und Verwaltung von Kafka-Clustern helfen. 2. Kafka-Visualisierungstools: Fünf wichtige Optionen KafkaManager: KafkaManager ist eine Open-Source-Web-Community

Verwendung von Selenium und PhantomJS in Scrapy-Crawlern Scrapy ist ein hervorragendes Webcrawler-Framework unter Python und wird häufig bei der Datenerfassung und -verarbeitung in verschiedenen Bereichen eingesetzt. Bei der Implementierung des Crawlers ist es manchmal erforderlich, Browservorgänge zu simulieren, um die von bestimmten Websites präsentierten Inhalte abzurufen. In diesem Fall werden Selenium und PhantomJS benötigt. Selenium simuliert menschliche Vorgänge im Browser und ermöglicht uns so die Automatisierung von Webanwendungstests

Schnellstart: Verwenden Sie Go-Sprachfunktionen, um die Anzeige einfacher Liniendiagramme zur Datenvisualisierung zu implementieren. Einführung: Im Bereich der Datenanalyse und -visualisierung sind Liniendiagramme ein häufig verwendeter Diagrammtyp, der den Trend von Datenänderungen über die Zeit oder andere Variablen klar darstellen kann. In diesem Artikel wird erläutert, wie Sie mithilfe der Go-Sprachfunktionen eine einfache Liniendiagrammanzeige für die Datenvisualisierung implementieren und relevante Codebeispiele bereitstellen. 1. Bevor Sie mit den Vorbereitungsarbeiten beginnen, müssen Sie die folgenden Bedingungen sicherstellen: Installieren Sie die Go-Sprachumgebung und legen Sie die relevanten Umgebungsvariablen fest. Installieren Sie die erforderlichen Abhängigkeiten
