Opsi Chrome & Kemampuan yang Diinginkan di Selenium Driver web

Apa itu Kelas Opsi Chrome?

Kelas Chromeoption adalah sebuah konsep dalam bahasa Indonesia Selenium WebDriver untuk memanipulasi berbagai properti driver Chrome. Kelas opsi Chrome umumnya digunakan bersama dengan Kemampuan yang Diinginkan untuk menyesuaikan sesi driver Chrome. Ini membantu Anda melakukan berbagai operasi seperti membuka Chrome dalam mode maksimal, menonaktifkan ekstensi yang ada, menonaktifkan pop-up, dll.

Contoh:

Contoh di bawah ini menunjukkan cara membuka browser Chrome dalam mode maksimal menggunakan kelas ChromeOptions. Kita perlu meneruskan instance kelas ChromeOptions ke inisialisasi driver web.

ChromeOptions options = new ChromeOptions()
options.addArgument("start-maximized");
ChromeDriver driver = new ChromeDriver(options);

Di bawah ini adalah daftar argumen yang tersedia dan paling umum digunakan untuk kelas ChromeOptions

  • mulai dimaksimalkan: Membuka Chrome dalam mode maksimalkan
  • penyamaran: Membuka Chrome dalam mode penyamaran
  • tanpa kepala: Membuka Chrome dalam mode tanpa kepala
  • nonaktifkan-ekstensi: Menonaktifkan ekstensi yang ada di browser Chrome
  • nonaktifkan-pemblokiran popup: Menonaktifkan pop-up yang ditampilkan di browser Chrome
  • jadikan-default-browser: Menjadikan Chrome sebagai browser default
  • versi: Mencetak versi browser chrome
  • nonaktifkan-infobar: Mencegah Chrome menampilkan pemberitahuan 'Chrome dikontrol oleh perangkat lunak otomatis

Kelas Kemampuan yang Diinginkan

Kelas Kemampuan yang Diinginkan digunakan untuk mengubah beberapa properti driver web. Ini menyediakan pasangan nilai kunci untuk mengubah properti individual driver web seperti nama browser, platform browser, dll. Metode umum kelas Kemampuan yang Diinginkan adalah metode setCapability. Ini sebagian besar digunakan dengan Selenium Grid, dimana test case yang sama perlu dijalankan pada browser yang berbeda.

Contoh:

Contoh di bawah ini menunjukkan cara mengaktifkan browser chrome untuk menerima sertifikat SSL di situs web secara default menggunakan Kemampuan yang Diinginkan untuk kelas Chrome.

// Create an object of desired capabilities class with Chrome driver
DesiredCapabilities SSLCertificate = DesiredCapabilities.chrome();
// Set the pre defined capability – ACCEPT_SSL_CERTS value to true
SSLCertificate.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
// Open a new instance of chrome driver with the desired capability
WebDriver driver = new ChromeDriver(SSLCertificate);

Di bawah ini adalah jenis kemampuan yang telah ditentukan sebelumnya yang paling umum digunakan.

Nama Kemampuan Description
TERIMA_SSL_CERTS Properti ini memberitahu browser untuk menerima Sertifikat SSL secara default
PLATFORM_NAME Properti ini digunakan untuk mengatur platform sistem operasi yang digunakan untuk mengakses situs web
BROWSER_NAME Properti ini digunakan untuk mengatur nama browser untuk instance driver web
VERSION Properti ini digunakan untuk mengatur versi browser

Opsi Chrome untuk ekstensi Adblocker

Ekstensi Adblocker pada browser Chrome dapat ditangani menggunakan kelas Opsi ChromeDriver dan Kemampuan yang Diinginkan. Berikut adalah langkah-langkah untuk mengaksesnya AdBlockekstensi er di browser Chrome menggunakan kelas Kemampuan yang Diinginkan.

Langkah 1) AdBlockEkstensi ini harus diinstal di browser Chrome sebelum menggunakan kelas Opsi Chrome

Langkah 2) Ekstrak File CRX yang sesuai dengan AdBlockekstensinya melalui http://crxextractor.com/

Langkah 3) Lewati jalur File CRX yang diunduh ke kelas Opsi Chrome

Langkah 4) Buat instance driver web menggunakan kelas kemampuan yang diinginkan dan Opsi Chrome di Selenium obyek

Contoh:

Contoh di bawah ini menunjukkan cara mengaktifkan ekstensi pemblokir iklan di browser Chrome menggunakan kelas Opsi Chrome dan Kemampuan yang Diinginkan.

ChromeOptions options = new ChromeOptions();
options.addExtensions(new File("Path to CRX File"));
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
ChromeDriver driver = new ChromeDriver(capabilities);

Ekstrak File CRX

Langkah-langkah di bawah ini menunjukkan proses mengekstraksi File CRX melalui Pemblokir Iklan melalui situs web – http://crxextractor.com/

Langkah 1) Pergi ke http://crxextractor.com/ dan klik tombol mulai

Ekstrak File CRX

Langkah 2) Masukkan URL ekstensi chrome – Ad Blocker di bawah kotak teks. URL untuk Adblock di toko web Chrome adalah https://chrome.google.com/webstore/detail/adblock-%E2%80%94-best-ad-blocker/gighmmpiobklfepjocnamgkkbiglidom

dan klik oke

Ekstrak File CRX

Langkah 3) Saat mengklik Tombol OK, label tombol tersebut akan berubah menjadi Dapatkan .CRX seperti di bawah ini. Klik tombol Dapatkan .CRX, file CRX yang sesuai dengan ekstensi akan diunduh

Ekstrak File CRX

Langkah 4) Simpan file ke mesin lokal, catat jalur yang disimpan. Langkah selanjutnya adalah meneruskan jalur tersimpan ke kelas Opsi Chrome

Kode sampel:

  1. Anda akan melihat iklan di https://demo.guru99.com/ seperti di bawah ini

Ekstrak File CRX

  1. Dengan AdBlockekstensi yang diaktifkan pada iklan browser Chrome harus dinonaktifkan
package adblock;
import java.io.File;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.DesiredCapabilities;


public class AdblockDemo {
public static void main(String[] args)  {
	
	System.setProperty("webdriver.chrome.driver","X://chromedriver.exe");		
	ChromeOptions options = new ChromeOptions();
	options.addExtensions(new File("X://extension_3_40_1_0.crx")); 
	DesiredCapabilities capabilities = new DesiredCapabilities();
	capabilities.setCapability(ChromeOptions.CAPABILITY, options);
	options.merge(capabilities);
	ChromeDriver driver = new ChromeDriver(options);
	driver.get("https://demo.guru99.com/test/simple_context_menu.html");
	driver.manage().window().maximize();
	//driver.quit();
	}
	
}

Penjelasan Kode:

  1. Awalnya, Anda perlu menyetel jalur ke file chromedriver.exe menggunakan metode set properti karena Anda menggunakan Browser Chrome untuk pengujian
  2. Anda perlu mengatur jalur ke File CRX untuk menambahkan metode ekstensi
  3. Maka Anda perlu membuat objek Kemampuan yang Diinginkan Chrome di Selenium kelas dan meneruskannya ke instance driver web. Dari Selenium Versi 3.8.1, kelas kemampuan driver tidak digunakan lagi dan Anda perlu menggabungkan objek kemampuan dengan objek Opsi Chrome sebelum meneruskan argumen yang sama ke konstruktor Driver Chrome
  4. Buka URL – https://demo.guru99.com/test/simple_context_menu.html dengan ekstensi Pemblokir Iklan diaktifkan
  5. Maksimalkan dan tutup browser

CATATAN: Kami memungkinkan AdBlockeh ekstensi di browser Chrome melalui skrip otomatisasi alih-alih mengaktifkan ekstensi Adblocker secara manual di browser Chrome. File CRX adalah cara untuk mengakses ekstensi pemblokir iklan menggunakan skrip otomatisasi

Keluaran:

Browser Chrome akan diaktifkan dengan AdBlockekstensi er diaktifkan seperti di bawah ini tanpa iklan apa pun

Ekstrak File CRX

Opsi Chrome untuk mode Penyamaran

Opsi Chrome dapat digunakan untuk mode penyamaran dengan menggunakan argumen yang telah ditentukan sebelumnya –penyamaran.

Di bawah ini adalah contoh kode untuk melakukan hal yang sama.

Kode sampel:

package test;
import java.io.File;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.DesiredCapabilities;

public class Incognito{
public static void main(String[] args) {
	// TODO Auto-generated method stub
	System.setProperty("webdriver.chrome.driver","X://chromedriver.exe");
	ChromeOptions options = new ChromeOptions();
	options.addArguments("--incognito");
	DesiredCapabilities capabilities = new DesiredCapabilities();
	capabilities.setCapability(ChromeOptions.CAPABILITY, options);
	options.merge(capabilities);
	ChromeDriver driver = new ChromeDriver(options);		
	driver.get("https://demo.guru99.com/test/simple_context_menu.html");
	driver.manage().window().maximize();		
	//driver.quit();
	}
	}

Penjelasan Kode:

  1. Awalnya, Anda perlu menyetel jalur ke file chromedriver.exe menggunakan metode set properti karena Anda menggunakan Browser Chrome untuk pengujian
  2. Maka Anda perlu membuat objek kelas Opsi Chrome dan meneruskannya ke instance driver web. Karena kami ingin membuka browser Chrome dalam mode penyamaran, Anda perlu meneruskan argumen –incognito ke kelas Opsi Chrome.
  3. Selanjutnya, buat objek kelas Kemampuan yang Diinginkan dan gabungkan objek kelas Kemampuan yang Diinginkan dengan objek kelas Opsi Chrome menggunakan metode penggabungan
  4. Anda perlu membuat objek kelas Driver Chrome dan meneruskan objek Opsi Chrome sebagai argumen
  5. Terakhir, kita perlu meneruskan URL – https://demo.guru99.com/test/simple_context_menu.html ke metode driver.get
  6. Maksimalkan dan tutup browser

Keluaran:

Jendela browser chrome akan terbuka dalam mode Penyamaran seperti di bawah ini

Opsi Chrome Untuk Mode Penyamaran

Opsi Chrome untuk Chrome Tanpa Kepala

Browser Tanpa Kepala berjalan di latar belakang. Anda tidak akan melihat GUI browser atau operasi yang dilakukan di dalamnya.

Opsi Chrome untuk menjalankan browser Chrome dalam mode tanpa kepala dapat dicapai dengan menggunakan argumen yang telah ditentukan sebelumnya –tanpa kepala.

Contoh kode untuk mencapainya disebutkan di bawah.

Contoh:

package test;
import java.io.File;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.DesiredCapabilities;


public class HeadlessModeDemo {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.setProperty("webdriver.chrome.driver","X://chromedriver.exe");
		ChromeOptions options = new ChromeOptions();
		options.addArguments("--headless");
		DesiredCapabilities capabilities = new DesiredCapabilities();
		capabilities.setCapability(ChromeOptions.CAPABILITY, options);
		options.merge(capabilities);
		ChromeDriver driver = new ChromeDriver(options);		
		driver.get("https://demo.guru99.com/");
		driver.manage().window().maximize();
		String title = driver.getTitle();
		System.out.println("Page Title: " +title);
		driver.quit();
		}


}

Penjelasan Kode:

  1. Awalnya, Anda perlu menyetel jalur ke file chromedriver.exe menggunakan metode set properti karena Anda menggunakan Browser Chrome untuk pengujian
  2. Selanjutnya, buat objek kelas Opsi Chrome dan teruskan ke instance driver web. Karena kita ingin membuka browser Chrome dalam mode tanpa kepala, kita perlu meneruskan argumen –tanpa kepala ke kelas Opsi Chrome.
  3. Buat objek kelas Chrome DesiredCapabilities dan gabungkan objek kelas Desired Capabilities dengan objek kelas Opsi Chrome menggunakan metode penggabungan
  4. Buat objek kelas Driver Chrome dan teruskan Opsi Chrome Selenium objek sebagai argumen
  5. Terakhir, kita perlu meneruskan URL – https://demo.guru99.com/ ke metode driver.get
  6. Cetak judul halaman dan tutup browser

Keluaran

Browser tidak akan terlihat untuk kode di atas karena Chrome akan bekerja dalam mode Tanpa Kepala. Judul halaman akan diambil dan ditampilkan seperti di bawah ini.

Opsi Chrome Untuk Chrome Tanpa Kepala

Ringkasan

  • Selenium Kelas Opsi Chrome digunakan untuk memanipulasi berbagai properti driver Chrome
  • Kelas Kemampuan Chrome yang diinginkan menyediakan serangkaian pasangan nilai kunci untuk mengubah properti individual driver web seperti nama browser, platform browser, dll.
  • Untuk memanipulasi ekstensi browser Chrome apa pun, File CRX yang sesuai dengan ekstensi tersebut harus diekstraksi dan harus ditambahkan ke kelas Opsi Chrome
  • –incognito dan –headless adalah argumen standar yang disediakan oleh kelas Opsi Chrome untuk menggunakan browser Chrome dalam mode penyamaran dan mode tanpa kepala