Chrome-alternativer & Ønskede funksjoner: AdBlocker, Incognito, Headless

Innholdsfortegnelse:

Anonim

Hva er Chrome Options-klassen?

Chrome-alternativklasse brukes til å manipulere forskjellige egenskaper for Chrome-driveren. Chrome-alternativklasse brukes vanligvis i forbindelse med Ønskede muligheter.

Eksempel:

Eksemplet nedenfor viser en måte å åpne Chrome-nettleseren i maksimert modus ved hjelp av ChromeOptions-klassen. Vi må overføre en forekomst av ChromeOptions-klassen til initialisering av nettdriveren.

ChromeOptions-alternativer = nye ChromeOptions ()options.addArgument ("startmaksimert");ChromeDriver-driver = ny ChromeDriver (alternativer);

Nedenfor er listen over tilgjengelige og mest brukte argumenter for ChromeOptions-klassen

  • startmaksimert : Åpner Chrome i maksimeringsmodus
  • inkognito: Åpner Chrome i inkognitomodus
  • hodeløs: Åpner Chrome i hodeløs modus
  • disable-extensions : Deaktiver eksisterende utvidelser i Chrome-nettleseren
  • disable-popup-blocking : Deaktiver popup-vinduer som vises i Chrome-nettleseren
  • make-default-browser: Gjør Chrome til standard nettleser
  • versjon : Skriver ut kromleserversjon
  • disable-infobars: Hindrer Chrome fra å vise varselet 'Chrome blir kontrollert av automatisert programvare

I denne veiledningen vil du lære

  • Hva er Chrome Options-klassen?
  • Ønsket kapasitetsklasse
  • Chrome-alternativer for Adblocker-utvidelse
  • Chrome-alternativer for inkognitomodus
  • Chrome-alternativer for hodeløs krom

Ønsket kapasitetsklasse

Ønsket kapasitetsklasse brukes til å endre flere egenskaper til nettdriveren. Ønskede funksjoner-klassen gir et sett med nøkkelverdipar for å endre individuelle egenskaper til nettdriveren, for eksempel nettlesernavn, nettleserplattform, etc. Den mest brukte metoden for Ønskede muligheter er setCapability-metoden. Ønskede evner brukes oftest med Selenium Grid der samme testtilfelle må utføres i forskjellige nettlesere.

Eksempel:

Eksemplet nedenfor viser hvordan Chrome-nettlesere kan akseptere SSL-sertifikater på nettsteder som standard ved å bruke ønsket klasse.

// Opprett et objekt av ønsket kapasitetsklasse med Chrome-driverDesiredCapabilities SSLCertificate = DesiredCapabilities.chrome ();// Sett den forhåndsdefinerte muligheten - ACCEPT_SSL_CERTS-verdi til sannSSLCertificate.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true);// Åpne en ny forekomst av kromdriver med ønsket evneWebDriver driver = ny ChromeDriver (SSLCertificate);

Nedenfor er de mest brukte forhåndsdefinerte funksjonstypene.

Evne Navn Beskrivelse
ACCEPT_SSL_CERTS Denne egenskapen ber nettleseren om å godta SSL-sertifikater som standard
PLATFORM_NAME Denne egenskapen brukes til å angi operativsystemplattformen som brukes til å få tilgang til nettstedet
BROWSER_NAME Denne egenskapen brukes til å angi nettlesernavnet for en webdriverinstans
VERSJON Denne egenskapen brukes til å angi nettleserversjonen

Chrome-alternativer for Adblocker-utvidelse

Adblocker-utvidelse av Chrome-nettleseren kan håndteres ved hjelp av klassen Chrome Options and Desired Capabilities. Nedenfor er trinnene for å få tilgang til AdBlocker-utvidelsen i Chrome-nettleseren ved å bruke ønsket klasse.

Trinn 1) AdBlocker-utvidelsen må installeres i Chrome-nettleseren før du bruker Chrome Options-klassen

Trinn 2) Pakk ut CRX-filen som tilsvarer AdBlocker-utvidelsen gjennom http://crxextractor.com/

Trinn 3) Send den nedlastede CRX-filstien til Chrome-alternativklassen

Trinn 4) Instanter nettdriveren ved hjelp av ønsket kapasitetsklasse og kromalternativobjekt

Eksempel:

Nedenfor vises et eksempel på hvordan du aktiverer utvidelse av annonseblokkering i Chrome-nettleseren ved hjelp av klassen Chrome Options and Desired Capabilities.

ChromeOptions-alternativer = nye ChromeOptions ();options.addExtensions (ny fil ("Path to CRX File"));DesiredCapabilities-muligheter = nye DesiredCapabilities ();skills.setCapability (ChromeOptions.CAPABILITY, opsjoner);ChromeDriver driver = ny ChromeDriver (evner);

Pakk ut CRX-fil:

Trinnene nedenfor viser prosessen med å trekke ut CRX-filer gjennom annonseblokkering gjennom nettstedet - http://crxextractor.com/

Trinn 1) Gå til http://crxextractor.com/ og klikk startknappen

Trinn 2) Skriv inn Chrome-utvidelsen - Ad Blocker URL under tekstboksen. URL for Adblock i Chrome nettbutikk er https://chrome.google.com/webstore/detail/adblock-%E2%80%94-best-ad-blocker/gighmmpiobklfepjocnamgkkbiglidom

og klikk ok

Trinn 3) Når du klikker på OK-knappen, endres etiketten til knappen til Get .CRX som nedenfor. Klikk på Get .CRX-knappen, CRX-fil som tilsvarer utvidelsen lastes ned

Trinn 4) Lagre filen på den lokale maskinen, noter stien som er lagret. Neste trinn er å sende den lagrede banen til Chrome Options-klassen

Eksempelkode:

  1. Du vil se annonser på http://demo.guru99.com/ som nedenfor

  1. Med utvidelse av AdBlocker aktivert i Chrome bør annonser deaktiveres
pakke adblock;importere java.io.File;importer org.openqa.selenium.chrome.ChromeDriver;importer org.openqa.selenium.chrome.ChromeOptions;importer org.openqa.selenium.remote.DesiredCapabilities;offentlig klasse AdblockDemo {public static void main (String [] args) {System.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");ChromeOptions-alternativer = nye ChromeOptions ();options.addExtensions (ny fil ("X: //extension_3_40_1_0.crx"));DesiredCapabilities-muligheter = nye DesiredCapabilities ();skills.setCapability (ChromeOptions.CAPABILITY, opsjoner);options.merge (evner);ChromeDriver-driver = ny ChromeDriver (alternativer);driver.get ("http://demo.guru99.com/test/simple_context_menu.html");driver.manage (). vindu (). maksimere ();//driver.quit ();}}

Kode Forklaring:

  1. Opprinnelig må du angi banen til chromedriver.exe-filen ved å bruke set-egenskapsmetoden siden du bruker Chrome-nettleser for testing
  2. Du må angi banen til CRX File for å legge til utvidelsesmetoden
  3. Deretter må du lage et objekt av ønsket kapasitetsklasse og overføre det til webdriverinstans. Fra Selenium 3.8.1-versjonen er driveregenskapsklassen avviklet, og du må slå sammen funksjonsobjektet med Chrome Options-objektet før du sender det samme som et argument til Chrome Driver-konstruktøren
  4. Åpne URL-en - http://demo.guru99.com/test/simple_context_menu.html med Ad Blocker-utvidelse aktivert
  5. Maksimer og lukk nettleseren

MERKNAD: Vi aktiverer AdBlocker-utvidelsen i Chrome-nettleseren gjennom automatiseringsskript i stedet for å aktivere Adblocker-utvidelsen manuelt i Chrome-nettleseren. CRX File er en måte å få tilgang til utvidelse av annonseblokkering ved hjelp av automatiseringsskript

Produksjon:

Chrome-nettleser vil bli aktivert med AdBlocker-utvidelse aktivert som nedenfor uten annonser

Chrome-alternativer for inkognitomodus

Chrome-alternativer kan brukes i inkognitomodus ved å bruke det forhåndsdefinerte argumentet - inkognito .

Nedenfor er eksempelkoden for å oppnå det samme.

Eksempelkode:

pakke test;importere java.io.File;importer org.openqa.selenium.chrome.ChromeDriver;importer org.openqa.selenium.chrome.ChromeOptions;importer org.openqa.selenium.remote.DesiredCapabilities;offentlig klasse Incognito {public static void main (String [] args) {// TODO Auto-generert metodestubSystem.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");ChromeOptions-alternativer = nye ChromeOptions ();options.addArguments ("- inkognito");DesiredCapabilities-muligheter = nye DesiredCapabilities ();skills.setCapability (ChromeOptions.CAPABILITY, opsjoner);options.merge (evner);ChromeDriver-driver = ny ChromeDriver (alternativer);driver.get ("http://demo.guru99.com/test/simple_context_menu.html");driver.manage (). vindu (). maksimere ();//driver.quit ();}}

Kode Forklaring :

  1. Opprinnelig må du angi banen til chromedriver.exe-filen ved å bruke set-egenskapsmetoden siden du bruker Chrome-nettleser for testing
  2. Deretter må du opprette et objekt i Chrome Options-klassen og overføre det til en webdriverinstans. Siden vi vil åpne Chrome-nettleseren i inkognitomodus, må du sende argumentet -incognito til Chrome Options-klassen.
  3. Deretter oppretter du et objekt av ønsket kapasitetsklasse og slår sammen ønsket objekt med ønsket alternativ med Chrome-alternativer med flettemetode
  4. Du må opprette et objekt i Chrome Driver-klassen og sende Chrome Options-objektet som et argument
  5. Til slutt må vi sende URLen - http://demo.guru99.com/test/simple_context_menu.html til driver.get-metoden
  6. Maksimer og lukk nettleseren

Produksjon:

Chrome-nettleservinduet åpnes i inkognitomodus som nedenfor

Chrome-alternativer for hodeløs krom

En hodeløs nettleser kjører i bakgrunnen. Du vil ikke se brukergrensesnittet til nettleseren eller operasjonene som er utført på den.

Chrome-alternativer for å kjøre Chrome-nettleser i hodeløs modus kan oppnås ved å bruke de forhåndsdefinerte argumentene - hodeløs .

Eksempelkode for å oppnå det er nevnt nedenfor.

Eksempel:

pakke test;importere java.io.File;importer org.openqa.selenium.chrome.ChromeDriver;importer org.openqa.selenium.chrome.ChromeOptions;importer org.openqa.selenium.remote.DesiredCapabilities;offentlig klasse HeadlessModeDemo {public static void main (String [] args) {// TODO Auto-generert metodestubSystem.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");ChromeOptions-alternativer = nye ChromeOptions ();options.addArguments ("- headless");DesiredCapabilities-muligheter = nye DesiredCapabilities ();skills.setCapability (ChromeOptions.CAPABILITY, opsjoner);options.merge (evner);ChromeDriver-driver = ny ChromeDriver (alternativer);driver.get ("http://demo.guru99.com/");driver.manage (). vindu (). maksimere ();Streng tittel = driver.getTitle ();System.out.println ("Sidetittel: + tittel);driver.quit ();}}

Kode Forklaring :

  1. Opprinnelig må du angi banen til chromedriver.exe-filen ved å bruke set-egenskapsmetoden siden du bruker Chrome-nettleser for testing
  2. Deretter oppretter du et objekt i Chrome Options-klassen og sender det til en webdriverinstans. Siden vi ønsker å åpne Chrome-nettleseren i hodeløs modus, må vi overføre argumentet -headless til Chrome Options-klassen.
  3. Opprett et objekt av klasse Ønskede evner og slå sammen objektet Ønskede evner med klasseobjekter for Chrome-alternativer ved å bruke flettemetode
  4. Opprett et objekt i Chrome Driver-klassen og send Chrome Options-objektet som et argument
  5. Til slutt må vi sende URLen - http://demo.guru99.com/ til driver.get-metoden
  6. Skriv ut sidetittelen og lukk nettleseren

Produksjon

Nettleseren vil ikke være synlig for koden ovenfor, siden Chrome fungerer i hodeløs modus. Sidetittelen hentes og vises som nedenfor.

Sammendrag:

  • Chrome-alternativklasse brukes til å manipulere forskjellige egenskaper for Chrome-driveren
  • Ønsket kapasitetsklasse gir et sett med nøkkelverdipar for å endre individuelle egenskaper til nettdriveren, for eksempel nettlesernavn, nettleserplattform, etc.
  • For å manipulere eventuelle utvidelser av Chrome-nettleseren, må CRX-fil som tilsvarer utvidelsen tas ut og må legges til i Chrome-alternativklassen
  • --incognito og -headless er forhåndsdefinerte argumenter levert av Chrome Options-klassen for bruk av Chrome-nettleser i inkognitomodus og hodeløs modus