Chrome opcije i željene mogućnosti u Selenium Webdriver
Što je Chrome Options Class?
Korištenje električnih romobila ističe 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) Izdvojite CRX datoteku koja odgovara AdBlocker proš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);
Ekstrakt CRX datoteke
Koraci u nastavku pokazuju postupak izdvajanja CRX datoteke putem Ad Blokera putem web stranice – http://crxextractor.com/
Korak 1) Idi na http://crxextractor.com/ i kliknite gumb za početak
Korak 2) Unesite proširenje za Chrome – URL za blokiranje oglasa ispod tekstnog okvira. URL za Adblock na Chrome web trgovini je https://chrome.google.com/webstore/detail/adblock-%E2%80%94-best-ad-blocker/gighmmpiobklfepjocnamgkkbiglidom
i kliknite OK
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
Korak 4) Spremite datoteku na lokalno računalo, zabilježite spremljeni put. Sljedeći je korak proslijediti spremljeni put klasi Chrome Options
Primjer koda:
- Oglase ćete vidjeti na
http://demo.guru99.com/
kao ispod
- 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("http://demo.guru99.com/test/simple_context_menu.html"); driver.manage().window().maximize(); //driver.quit(); } }
Objašnjenje koda:
- U početku trebate postaviti put do datoteke chromedriver.exe pomoću metode postavljanja svojstava budući da za testiranje koristite preglednik Chrome
- Morate postaviti put do CRX datoteke za dodavanje metode proširenja
- 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
- Otvorite URL –
http://demo.guru99.com/test/simple_context_menu.html
s omogućenim proširenjem Ad Blocker - 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
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.
Primjer koda:
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("http://demo.guru99.com/test/simple_context_menu.html"); driver.manage().window().maximize(); //driver.quit(); } }
Objašnjenje koda:
- U početku trebate postaviti put do datoteke chromedriver.exe pomoću metode postavljanja svojstava budući da za testiranje koristite preglednik Chrome
- 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.
- Zatim izradite objekt klase Željene mogućnosti i spojite objekt klase Željene mogućnosti s objektom klase Chrome Options metodom spajanja
- Morate stvoriti objekt klase Chrome Driver i proslijediti objekt Chrome Options kao argument
- Na kraju, moramo proslijediti URL –
http://demo.guru99.com/test/simple_context_menu.html
vozaču.get metoda - 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 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("http://demo.guru99.com/"); driver.manage().window().maximize(); String title = driver.getTitle(); System.out.println("Page Title: " +title); driver.quit(); } }
Objašnjenje koda:
- U početku trebate postaviti put do datoteke chromedriver.exe pomoću metode postavljanja svojstava budući da za testiranje koristite preglednik Chrome
- 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.
- Stvorite objekt klase DesiredCapabilities Chrome i spojite objekt klase Desired Capabilities s objektom klase Chrome Options pomoću metode spajanja
- Stvorite objekt klase Chrome Driver i proslijedite Chrome Options Selenium objekt kao argument
- Na kraju, moramo proslijediti URL –
http://demo.guru99.com/
vozaču.get metoda - 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.
rezime
- Selenium Klasa Chrome Options koristi se za manipuliranje različitim svojstvima Chrome upravljačkog programa
- Klasa željenih mogućnosti Chromea pruža skup parova ključ-vrijednost za izmjenu pojedinačnih svojstava upravljačkog programa za web kao što su naziv preglednika, platforma preglednika itd.
- Za manipuliranje bilo kojim proširenjima preglednika Chrome, CRX datoteka koja odgovara proširenju mora se ekstrahirati i mora se dodati u klasu Chrome Options
- –incognito i –headless unaprijed su definirani argumenti koje pruža klasa Chrome Options za korištenje preglednika Chrome u anonimnom načinu rada i načinu rada bez glave