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.