PhantomJS - Metode
PhantomJS adalah platform untuk membantu mengeksekusi JavaScript tanpa browser. Untuk melakukan itu, metode berikut digunakan, yang membantu dalam Menambahkan Cookie, Menghapus, Menghapus, Keluar dari Skrip, Menyuntikkan JS, dll.
Kami akan membahas lebih lanjut tentang metode PhantomJS ini dan sintaksnya di bab ini. Metode serupa yaituaddcookie, injectjs ada di modul halaman web, yang akan dibahas di bab-bab selanjutnya.
PhantomJS memperlihatkan metode berikut yang dapat membantu kita mengeksekusi JavaScript tanpa browser -
- addCookie
- clearCookie
- deleteCookie
- Exit
- InjectJS
Mari kita sekarang memahami metode ini secara rinci dengan contoh.
addCookie
Metode addcookie digunakan untuk menambahkan cookie dan menyimpan data. Ini mirip dengan bagaimana browser menyimpannya. Dibutuhkan satu argumen yang merupakan objek dengan semua properti cookie dan sintaksnya terlihat seperti yang ditunjukkan di bawah ini -
Sintaksis
Sintaksnya adalah sebagai berikut -
phantom.addCookie ({
"name" : "cookie_name",
"value" : "cookie_value",
"domain" : "localhost"
});
Nama, nilai, domain adalah properti wajib yang akan ditambahkan ke fungsi addcookie. Jika salah satu properti ini hilang di objek cookie, metode ini akan gagal.
name - menentukan nama cookie.
value - menentukan nilai cookie yang akan digunakan.
domain - domain tempat cookie akan diterapkan.
Contoh
Berikut adalah contoh dari addcookie metode.
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);
}
});
Contoh
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>
Program di atas menghasilkan yang berikut ini output.
Added 3 cookies
Total cookies :3
Komentar kode cukup jelas.
clearCookies
Metode ini memungkinkan penghapusan semua cookie.
Sintaksis
Sintaksnya adalah sebagai berikut -
phantom.clearCookies();
Konsep ini bekerja mirip dengan menghapus cookie browser dengan memilih di menu browser.
Contoh
Berikut adalah contoh dari clearCookies metode.
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>
Program di atas menghasilkan yang berikut ini output.
Added 3 cookies
Total cookies :3
After clearcookies method total cookies :0
deleteCookie
Hapus cookie apa pun di CookieJardengan properti 'nama' yang cocok dengan cookieName. Ini akan kembalitrue, jika berhasil dihapus; jika tidakfalse.
Sintaksis
Sintaksnya adalah sebagai berikut -
phantom.deleteCookie(cookiename);
Biarlah kami mengerti addcookie, clearcookies dan deletecookie dengan bantuan sebuah contoh.
Contoh
Berikut adalah contoh untuk mendemonstrasikan penggunaan metode deleteCookie -
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);
}
});
Program di atas menghasilkan yang berikut ini output.
phantomjs cookie.js
Added 3 cookies
Total cookies :3
Deleting cookie2
Total cookies :2
After clearcookies method total cookies :0
Keluar
Metode phantom.exit akan keluar dari skrip yang telah dimulai. Itu keluar dari program dengan nilai kembali yang disebutkan. Memberikan‘0’, jika tidak ada nilai yang diteruskan.
Sintaksis
Sintaksnya adalah sebagai berikut -
phantom.exit(value);
Jika Anda tidak menambahkan phantom.exit, maka baris perintah mengasumsikan bahwa eksekusi masih berjalan dan tidak akan selesai.
Contoh
Mari kita lihat contoh untuk memahami penggunaan file exit metode.
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);
}
Program di atas menghasilkan yang berikut ini output.
phantomjs exit.js
Welcome to phantomJs
Exit 1
Setiap bagian kode setelah phantom.exit tidak akan dijalankan, karena phantom.exit adalah metode untuk mengakhiri skrip.
menyuntikkan
InjectJs digunakan untuk menambahkan addtionaljsfile di phantom. Jika file tidak ditemukan saat inidirectory librarypath, maka properti phantom (phantom.libraryPath) digunakan sebagai tempat tambahan untuk melacak jalur. Ia kembalitrue jika penambahan file berhasil sebaliknya false untuk kegagalan, lakukan jika tidak dapat menemukan file tersebut.
Sintaksis
Sintaksnya adalah sebagai berikut -
phantom.injectJs(filename);
Contoh
Mari kita lihat contoh berikut untuk memahami penggunaan injectJs.
Filename: inject.js
console.log(“Added file”);
File name: addfile.js
var addfile = injectJs(inject.js);
console.log(addfile);
phantom.exit();
Keluaran
Command - C: \ phantomjs \ bin> phantomjs addfile.js
Added file // coming from inject.js
true
Dalam contoh di atas, addfile.js memanggil file tersebut inject.jsmenggunakan injectJs. Saat Anda menjalankan addfile.js, konsol.log yang ada di inject.js ditampilkan di keluaran. Ini juga menunjukkan true untuk variabel addfile karena file inject.js berhasil ditambahkan.