PhantomJS - Methoden
PhantomJS ist eine Plattform zur Ausführung von JavaScript ohne Browser. Zu diesem Zweck werden die folgenden Methoden verwendet, die beim Hinzufügen des Cookies, Löschen, Löschen, Beenden des Skripts, Injizieren von JS usw. hilfreich sind.
Wir werden in diesem Kapitel mehr über diese PhantomJS-Methoden und ihre Syntax diskutieren. Ähnliche Methoden dhaddcookie, injectjs existiert auf dem Webseitenmodul, das in den folgenden Kapiteln besprochen wird.
PhantomJS stellt die folgenden Methoden zur Verfügung, mit denen wir JavaScript ohne den Browser ausführen können:
- addCookie
- clearCookie
- deleteCookie
- Exit
- InjectJS
Lassen Sie uns diese Methoden nun anhand von Beispielen im Detail verstehen.
addCookie
Die addcookie-Methode wird verwendet, um Cookies hinzuzufügen und in den Daten zu speichern. Es ähnelt dem Speichern im Browser. Es wird ein einzelnes Argument benötigt, das ein Objekt mit allen Eigenschaften von Cookies ist, und die Syntax dafür sieht wie folgt aus:
Syntax
Die Syntax lautet wie folgt:
phantom.addCookie ({
"name" : "cookie_name",
"value" : "cookie_value",
"domain" : "localhost"
});
Der Name, der Wert und die Domäne sind obligatorische Eigenschaften, die der Funktion addcookie hinzugefügt werden müssen. Wenn eine dieser Eigenschaften in den Cookie-Objekten fehlt, schlägt diese Methode fehl.
name - Gibt den Namen des Cookies an.
value - Gibt den Wert des zu verwendenden Cookies an.
domain - Domain, auf die das Cookie angewendet wird.
Beispiel
Hier ist ein Beispiel für die addcookie Methode.
var page = require('webpage').create(),url = 'http://localhost/tasks/a.html';
page.open(url, function(status) {
if (status === 'success') {
phantom.addCookie({ //add name cookie1 with value = 1
name: 'cookie1',
value: '1',
domain: 'localhost'
});
phantom.addCookie({ // add cookie2 with value 2
name: 'cookie2',
value: '2',
domain: 'localhost'
});
phantom.addCookie({ // add cookie3 with value 3
name: 'cookie3',
value: '3',
domain: 'localhost'
});
console.log('Added 3 cookies');
console.log('Total cookies :'+phantom.cookies.length);
// will output the total cookies added to the url.
} else {
console.error('Cannot open file');
phantom.exit(1);
}
});
Beispiel
a.html
<html>
<head>
<title>Welcome to phantomjs test page</title>
</head>
<body>
<h1>This is a test page</h1>
<h1>This is a test page</h1>
<h1>This is a test page</h1>
<h1>This is a test page</h1>
<h1>This is a test page</h1>
<h1>This is a test page</h1>
<h1>This is a test page</h1>
<h1>This is a test page</h1>
<h1>This is a test page</h1>
</body>
</html>
Das obige Programm generiert Folgendes output.
Added 3 cookies
Total cookies :3
Die Codekommentare sind selbsterklärend.
Klare Kekse
Diese Methode ermöglicht das Löschen aller Cookies.
Syntax
Die Syntax lautet wie folgt:
phantom.clearCookies();
Dieses Konzept funktioniert ähnlich wie das Löschen der Browser-Cookies durch Auswahl im Browser-Menü.
Beispiel
Hier ist ein Beispiel für die clearCookies Methode.
var page = require('webpage').create(),url = 'http://localhost/tasks/a.html';
page.open(url, function(status) {
if (status === 'success') {
phantom.addCookie({ //add name cookie1 with value = 1
name: 'cookie1',
value: '1',
domain: 'localhost'
});
phantom.addCookie({ // add cookie2 with value 2
name: 'cookie2',
value: '2',
domain: 'localhost'
});
phantom.addCookie({ // add cookie3 with value 3
name: 'cookie3',
value: '3',
domain: 'localhost'
});
console.log('Added 3 cookies');
console.log('Total cookies :'+phantom.cookies.length);
phantom.clearCookies();
console.log(
'After clearcookies method total cookies :' +phantom.cookies.length);
phantom.exit();
} else {
console.error('Cannot open file');
phantom.exit(1);
}
});
a.html
<html>
<head>
<title>Welcome to phantomjs test page</title>
</head>
<body>
<h1>This is a test page</h1>
<h1>This is a test page</h1>
<h1>This is a test page</h1>
<h1>This is a test page</h1>
<h1>This is a test page</h1>
<h1>This is a test page</h1>
<h1>This is a test page</h1>
<h1>This is a test page</h1>
<h1>This is a test page</h1>
</body>
</html>
Das obige Programm generiert Folgendes output.
Added 3 cookies
Total cookies :3
After clearcookies method total cookies :0
deleteCookie
Löschen Sie alle Cookies in der CookieJarmit einer 'name'-Eigenschaft, die mit cookieName übereinstimmt. Es wird zurückkehrentrue, wenn erfolgreich gelöscht; Andernfallsfalse.
Syntax
Die Syntax lautet wie folgt:
phantom.deleteCookie(cookiename);
Lass uns verstehen addcookie, clearcookies und deletecookie anhand eines Beispiels.
Beispiel
Hier ist ein Beispiel, um die Verwendung der deleteCookie-Methode zu demonstrieren:
File: cookie.js
var page = require('webpage').create(),url = 'http://localhost/tasks/a.html';
page.open(url, function(status) {
if (status === 'success') {
phantom.addCookie({ //add name cookie1 with value = 1
name: 'cookie1',
value: '1',
domain: 'localhost'
});
phantom.addCookie({ // add cookie2 with value 2
name: 'cookie2',
value: '2',
domain: 'localhost'
});
phantom.addCookie({ // add cookie3 with value 3
name: 'cookie3',
value: '3',
domain: 'localhost'
});
console.log('Added 3 cookies');
console.log('Total cookies :'+phantom.cookies.length);
//will output the total cookies added to the url.
console.log("Deleting cookie2");
phantom.deleteCookie('cookie2');
console.log('Total cookies :'+phantom.cookies.length);
phantom.clearCookies();
console.log(
'After clearcookies method total cookies :' +phantom.cookies.length);
phantom.exit();
} else {
console.error('Cannot open file');
phantom.exit(1);
}
});
Das obige Programm generiert Folgendes output.
phantomjs cookie.js
Added 3 cookies
Total cookies :3
Deleting cookie2
Total cookies :2
After clearcookies method total cookies :0
Ausgang
Die Methode phantom.exit beendet das Skript, das sie gestartet hat. Es beendet das Programm mit dem angegebenen Rückgabewert. Es gibt‘0’, wenn kein Wert übergeben wird.
Syntax
Die Syntax lautet wie folgt:
phantom.exit(value);
Falls Sie nicht hinzufügen phantom.exitDann geht die Befehlszeile davon aus, dass die Ausführung noch aktiv ist und nicht abgeschlossen wird.
Beispiel
Schauen wir uns ein Beispiel an, um die Verwendung von zu verstehen exit Methode.
console.log('Welcome to phantomJs'); // outputs Welcome to phantomJS
var a = 1;
if (a === 1) {
console.log('Exit 1'); //outputs Exit 1
phantom.exit(); // Code exits.
} else {
console.log('Exit 2');
phantom.exit(1);
}
Das obige Programm generiert Folgendes output.
phantomjs exit.js
Welcome to phantomJs
Exit 1
Code nach phantom.exit wird nicht ausgeführt, da phantom.exit eine Methode zum Beenden des Skripts ist.
injiziert
InjectJs wird zum Hinzufügen verwendet addtionaljsDateien im Phantom. Wenn die Datei nicht in der aktuellen gefunden wirddirectory librarypathAnschließend wird die Phantom-Eigenschaft (phantom.libraryPath) als zusätzlicher Ort zum Verfolgen des Pfads verwendet. Es kehrt zurücktrue Wenn das Hinzufügen der Datei ansonsten erfolgreich ist false Bei einem Fehler, falls die Datei nicht gefunden werden kann.
Syntax
Die Syntax lautet wie folgt:
phantom.injectJs(filename);
Beispiel
Schauen wir uns das folgende Beispiel an, um die Verwendung von zu verstehen injectJs.
Filename: inject.js
console.log(“Added file”);
File name: addfile.js
var addfile = injectJs(inject.js);
console.log(addfile);
phantom.exit();
Ausgabe
Command - C: \ phantomjs \ bin> phantomjs addfile.js
Added file // coming from inject.js
true
Im obigen Beispiel ist addfile.js ruft die Datei auf inject.jsmit Injektionen. Wenn Sie addfile.js ausführen, wird das in insert.js vorhandene console.log in der Ausgabe angezeigt. Es wird auch true für die Variable addfile angezeigt, da die Datei injizieren.js erfolgreich hinzugefügt wurde.