Chrome opcije i željene mogućnosti u Selenium

⚡ Pametni sažetak

Chromeove opcije i željene mogućnosti u Selenium WebDriver kontrolira kako se preglednik Chrome pokreće i ponaša tijekom automatiziranih testova. Zajedno konfiguriraju argumente, proširenja, rukovanje SSL-om i postavke za više preglednika, čineći testove fleksibilnima, ponovljivima i spremnima za... Selenium Izvršenje mreže.

  • 🌐 Chromeove opcije: Prilagođava sesije argumentima poput pokretanja s maksimalnim vremenom, anonimnog prikaza i prikaza bez glave.
  • Željene sposobnosti: Postavlja naziv preglednika, platformu, verziju i prihvaćanje SSL certifikata.
  • 🧩 Proširenja: Učitajte CRX datoteku putem automatizacije umjesto ručne instalacije.
  • 🕵️ Inkognito i bez glave: Višekratno upotrebljiv kod pokreće privatne ili pozadinske sesije za CI cjevovode.
  • 🖥️ Selenium Rešetka: Mogućnosti omogućuju izvršavanje distribuiranih testova u više preglednika.
  • ⚠️ Selenium Napomena iz 4.: DesiredCapabilities je zastarjelo; proslijedite ChromeOptions izravno upravljačkom programu.

Chromeove opcije i željene mogućnosti u Selenium webdriver

Što je Chrome Options Class?

The Klasa Chromeoptions je koncept u Selenium WebDriver za upravljanje različitim svojstvima Chrome upravljačkog programa. Klasa opcija Chromea općenito se koristi u kombinaciji sa Željenim mogućnostima za prilagodbu sesija upravljačkog programa Chromea. Pomaže vam u izvođenju raznih operacija kao što je otvaranje Chromea u maksimalnom načinu rada, onemogućavanje postojećih proširenja, onemogućavanje skočnih prozora itd.

Primjer:

Donji primjer pokazuje način otvaranja preglednika Chrome u maksimalnom načinu rada pomoću klase ChromeOptions. Moramo proslijediti instancu klase ChromeOptions u inicijalizaciju upravljačkog programa za web.

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

Ispod je popis dostupnih i najčešće korištenih argumenata za klasu ChromeOptions

  • start-maksimiziran: Otvara Chrome u načinu maksimiziranja
  • inkognito: Otvara Chrome u anonimnom načinu rada
  • bezglav: Otvara Chrome u bezglavom načinu rada
  • onemogući-ekstenzije: Onemogućuje postojeća proširenja u pregledniku Chrome
  • onemogući blokiranje skočnih prozora: Onemogućuje skočne prozore prikazane u pregledniku Chrome
  • make-default-browser: Čini Chrome zadanim preglednikom
  • verzija: Ispisuje verziju chrome preglednika
  • disable-infobars: Sprječava Chrome da prikaže obavijest 'Chromeom upravlja automatizirani softver

Željena klasa sposobnosti

Željena klasa sposobnosti koristi se za izmjenu više svojstava web upravljačkih programa. Omogućuje parove ključ-vrijednost za promjenu pojedinačnih svojstava web pokretačkih programa kao što su naziv preglednika, platforma preglednika itd. Uobičajena metoda klase željenih mogućnosti je metoda setCapability. Najviše se koristi sa Selenium Grid, gdje se isti testni slučaj treba izvršiti na različitim preglednicima.

Primjer:

Donji primjer pokazuje način omogućavanja pregledniku chrome da prema zadanim postavkama prihvaća SSL certifikate na web-lokacijama pomoću klase Desired Capabilities for 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);

Ispod su najčešće korištene vrste unaprijed definiranih mogućnosti.

Naziv sposobnosti Description
ACCEPT_SSL_CERTS Ovo svojstvo govori pregledniku da prihvaća SSL certifikate prema zadanim postavkama
PLATFORM_NAME Ovo se svojstvo koristi za postavljanje platforme operativnog sustava koja se koristi za pristup web stranici
BROWSER_NAME Ovo se svojstvo koristi za postavljanje naziva preglednika za instancu web upravljačkog programa
VERZIJA Ovo se svojstvo koristi za postavljanje verzije preglednika

Chrome Options for Adblocker proširenje

Adblocker proširenjem preglednika Chrome može se upravljati pomoću ChromeDriver Options i klase Desired Capabilities. U nastavku su navedeni koraci za pristup AdBlocker proširenje na pregledniku Chrome pomoću klase Željene mogućnosti.

Korak 1) AdBlocker ekstenzija mora biti instalirana na Chrome pregledniku prije korištenja klase Chrome Options

Korak 2) ExtracCRX datoteku koja odgovara AdBlockproširenje putem http://crxextractor.com/

Korak 3) Proslijedite put preuzete CRX datoteke klasi Chrome Options

Korak 4) Instancirajte web upravljački program koristeći željenu klasu mogućnosti i Chromeove opcije Selenium objekt

Primjer:

Donji primjer pokazuje kako aktivirati proširenje za blokiranje oglasa u pregledniku Chrome pomoću Chrome opcija i klase željenih mogućnosti.

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);

ExtracCRX datoteka

Donji koraci prikazuju proces extracpreuzimanje CRX datoteke putem blokatora oglasa na web stranici – http://crxextractor.com/

Korak 1) Idi na http://crxextractor.com/ i kliknite gumb za početak

ExtracCRX datoteka

Korak 2) Uđite u Chromeovo proširenje – Blokator oglasa URL ispod tekstnog okvira. URL za Adblock u Chrome web trgovini je https://chrome.google.com/webstore/detail/adblock-%E2%80%94-best-ad-blocker/gighmmpiobklfepjocnamgkkbiglidom

i kliknite OK

ExtracCRX datoteka

Korak 3) Nakon klika na gumb U redu, oznaka gumba promijenit će se u Get .CRX kao ispod. Pritisnite gumb Get .CRX, CRX datoteka koja odgovara ekstenziji bit će preuzeta

ExtracCRX datoteka

Korak 4) Spremite datoteku na lokalno računalo, zabilježite spremljeni put. Sljedeći je korak proslijediti spremljeni put klasi Chrome Options

Uzorak Code:

  1. Oglase ćete vidjeti na https://demo.guru99.com/ kao ispod

ExtracCRX datoteka

  1. Kontakt AdBlocker proširenje omogućeno u pregledniku Chrome, oglasi bi trebali biti onemogućeni
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();
	}
	
}

Code Objašnjenje:

  1. U početku trebate postaviti put do datoteke chromedriver.exe pomoću metode postavljanja svojstava budući da za testiranje koristite preglednik Chrome
  2. Morate postaviti put do CRX datoteke za dodavanje metode proširenja
  3. Zatim morate stvoriti objekt željenih mogućnosti Chromea Selenium klase i proslijedite ga instanci web upravljačkog programa. Iz Selenium Verzija 3.8.1, klasa mogućnosti upravljačkog programa je zastarjela i trebate spojiti objekt mogućnosti s objektom opcija Chromea prije nego što isti proslijedite kao argument konstruktoru upravljačkog programa Chrome
  4. Otvorite URL - https://demo.guru99.com/test/simple_context_menu.html s omogućenim proširenjem Ad Blocker
  5. Maksimizirajte i zatvorite preglednik

NAPOMENA: Mi omogućujemo AdBlocker proširenje u pregledniku Chrome putem skripte za automatizaciju umjesto da ručno omogućite proširenje Adblocker u pregledniku Chrome. CRX datoteka je način pristupa proširenju za blokiranje oglasa pomoću skripte za automatizaciju

Izlaz:

Preglednik Chrome bit će omogućen s AdBlocker proširenje omogućeno kao ispod bez ikakvih oglasa

ExtracCRX datoteka

Osim učitavanja ekstenzija, ChromeOptions također kontrolira kako se sam prozor preglednika pokreće.

Chromeove opcije za anonimni način rada

Opcije preglednika Chrome mogu se koristiti za anonimni način rada korištenjem unaprijed definiranog argumenta –inkognito.

Ispod je primjer koda za postizanje istog.

Uzorak Code:

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();
	}
	}

Code Objašnjenje:

  1. U početku trebate postaviti put do datoteke chromedriver.exe pomoću metode postavljanja svojstava budući da za testiranje koristite preglednik Chrome
  2. Zatim morate stvoriti objekt klase Chrome Options i proslijediti ga instanci web upravljačkog programa. Budući da želimo otvoriti preglednik Chrome u anonimnom načinu rada, morate proslijediti argument –inkognito klasi Chrome Options.
  3. Zatim izradite objekt klase Željene mogućnosti i spojite objekt klase Željene mogućnosti s objektom klase Chrome Options metodom spajanja
  4. Morate stvoriti objekt klase Chrome Driver i proslijediti objekt Chrome Options kao argument
  5. Konačno, moramo proći URL - https://demo.guru99.com/test/simple_context_menu.html vozaču.get metoda
  6. Maksimizirajte i zatvorite preglednik

Izlaz:

Prozor preglednika Chrome otvorit će se u anonimnom načinu rada kao što je prikazano u nastavku

Chromeove opcije za anonimni način rada

Chromeove opcije za Headless Chrome

Headless preglednik radi u pozadini. Nećete vidjeti GUI preglednika niti operacije koje su na njemu izvedene.

Chromeove opcije za pokretanje preglednika Chrome u načinu rada bez glave mogu se postići korištenjem unaprijed definiranih argumenata –bezglav.

Uzorak koda za njegovo postizanje naveden je u nastavku.

Primjer:

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();
		}


}

Code Objašnjenje:

  1. U početku trebate postaviti put do datoteke chromedriver.exe pomoću metode postavljanja svojstava budući da za testiranje koristite preglednik Chrome
  2. Zatim stvorite objekt klase Chrome Options i proslijedite ga instanci web upravljačkog programa. Budući da želimo otvoriti preglednik Chrome u načinu rada bez glave, moramo prenijeti argument –bez glave u klasu opcija Chromea.
  3. Stvorite objekt klase DesiredCapabilities Chrome i spojite objekt klase Desired Capabilities s objektom klase Chrome Options pomoću metode spajanja
  4. Stvorite objekt klase Chrome Driver i proslijedite Chrome Options Selenium objekt kao argument
  5. Konačno, moramo proći URL - https://demo.guru99.com/ vozaču.get metoda
  6. Ispišite naslov stranice i zatvorite preglednik

Izlaz

Preglednik neće biti vidljiv za gornji kod jer će Chrome raditi u načinu rada bez glave. Naslov stranice bit će dohvaćen i prikazan kao ispod.

Chrome opcije za Headless Chrome

Pitanja i odgovori

Da. Selenium 4 zastarjela DesiredCapabilities u korist klasa opcija preglednika kao što su ChromeOptions. U Selenium 3 spojili ste ih; u Selenium 4 izravno prosljeđujete ChromeOptions upravljačkom programu.

Pozovite addArguments s nekoliko zastavica, na primjer options.addArguments s start-maximized i incognito. Možete i ulančati više poziva. Svaki argument prilagođava način pokretanja Chromeove sesije.

addArguments prosljeđuje Chromeu zastavice naredbenog retka poput headless ili incognito. addExtensions učitava zapakiranu .crx datoteku s ekstenzijom u sesiju. Oba prilagođavaju ponašanje, ali služe različitim svrhama.

Da. AI asistenti poput Copilota scaffoldiraju ChromeOptions i postavke mogućnosti, predlažu nazive argumenata i objašnjavaju zastarjele API-je. Uvijek pregledajte izlaz jer označavaju nazive i Selenium verzije se često mijenjaju.

Alati umjetne inteligencije za samoobnavljanje automatski ažuriraju argumente, otkrivaju nestabilne zastavice i predlažu stabilne zamjene nakon nadogradnji Chromea. Smanjuju održavanje za izvršavanje bez zadanog koda i neusklađenosti mogućnosti u različitim CI okruženjima.

Da. ChromeOptions radi s RemoteWebDriverom za izvršavanje u Gridu. Opcije prilažete udaljenoj sesiji, omogućujući istu konfiguraciju da se izvršava na distribuiranim računalima i preglednicima.

To obično znači da se verzije ChromeDrivera i preglednika Chrome ne podudaraju. Instalirajte odgovarajući ChromeDriver ili koristite Selenium Voditelj u Selenium 4 za automatsko rješavanje problema s upravljačkim programom.

Koristite eksperimentalnu opciju: mapu preferencija s download.default_directory proslijeđenom putem setExperimentalOption. Chrome zatim automatski sprema datoteke u tu mapu tijekom automatiziranih testova.

Sažmite ovu objavu uz: