Chrome-alternativ & Önskade funktioner: AdBlocker, Incognito, Headless

Innehållsförteckning:

Anonim

Vad är Chrome Options-klass?

Chrome-alternativsklassen används för att manipulera olika egenskaper hos Chrome-drivrutinen. Chrome-alternativklass används vanligtvis i kombination med önskade funktioner.

Exempel:

Nedanstående exempel visar ett sätt att öppna Chrome-webbläsaren i maximalt läge med ChromeOptions-klassen. Vi måste skicka en instans av ChromeOptions-klassen till initieringen av webbdrivrutinen.

ChromeOptions-alternativ = nya ChromeOptions ()options.addArgument ("start-maximerad");ChromeDriver-drivrutin = ny ChromeDriver (alternativ);

Nedan är listan över tillgängliga och mest använda argument för ChromeOptions-klassen

  • start-maximerad : Öppnar Chrome i maximera-läge
  • inkognito: Öppnar Chrome i inkognitoläge
  • headless: Öppnar Chrome i headless-läge
  • disable-extensions : inaktiverar befintliga tillägg i webbläsaren Chrome
  • disable-popup- blocking: Inaktiverar popup-fönster som visas i webbläsaren Chrome
  • make-default-browser: Gör Chrome till standardwebbläsare
  • version : Skriver ut Chrome-webbläsarversion
  • disable-infobars: Förhindrar att Chrome visar meddelandet "Chrome styrs av automatiserad programvara

I den här handledningen lär du dig

  • Vad är Chrome Options-klass?
  • Önskad kapacitetsklass
  • Chrome-alternativ för Adblocker-tillägg
  • Chrome-alternativ för inkognitoläge
  • Chrome-alternativ för Chrome utan huvud

Önskad kapacitetsklass

Önskad kapacitetsklass används för att ändra flera egenskaper för webbdrivrutinen. Klassen Önskad kapacitet tillhandahåller en uppsättning nyckel-värdepar för att ändra enskilda egenskaper hos webbdrivrutinen, till exempel webbläsarnamn, webbläsarplattform, etc. Den vanligaste metoden för önskad kapacitet är setCapability-metoden. Önskade funktioner används oftast med Selen Grid där samma testfall måste utföras i olika webbläsare.

Exempel:

Nedanstående exempel visar hur Chrome-webbläsare kan acceptera SSL-certifikat på webbplatser som standard med önskad kapacitetsklass.

// Skapa ett objekt med önskad kapacitetsklass med Chrome-drivrutinenDesiredCapabilities SSLCertificate = DesiredCapabilities.chrome ();// Ställ in den fördefinierade kapaciteten - ACCEPT_SSL_CERTS-värde till trueSSLCertificate.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true);// Öppna en ny instans av kromdrivrutin med önskad kapacitetWebDriver-drivrutin = ny ChromeDriver (SSLCertificate);

Nedan följer de vanligaste fördefinierade funktionstyperna.

Kapacitetsnamn Beskrivning
ACCEPT_SSL_CERTS Den här egenskapen ber webbläsaren att acceptera SSL-certifikat som standard
PLATFORM_NAME Den här egenskapen används för att ställa in operativsystemplattformen som används för att komma åt webbplatsen
BROWSER_NAME Den här egenskapen används för att ställa in webbläsarens namn för en webbdrivrutinsinstans
VERSION Den här egenskapen används för att ställa in webbläsarversionen

Chrome-alternativ för Adblocker-tillägg

Adblocker-förlängning av Chrome-webbläsaren kan hanteras med hjälp av Chrome-alternativ och önskade funktioner. Nedan följer stegen för att komma åt AdBlocker-tillägget i Chrome-webbläsaren med hjälp av klassen Önskad kapacitet.

Steg 1) AdBlocker-tillägget måste installeras i Chrome-webbläsaren innan du använder Chrome-alternativklassen

Steg 2) Extrahera CRX-filen som motsvarar AdBlocker-tillägget via http://crxextractor.com/

Steg 3) Skicka den nedladdade sökvägen till CRX-fil till Chrome-alternativklassen

Steg 4) Instansera webbdrivrutinen med önskat kapacitetsklass och kromalternativ

Exempel:

Nedanstående exempel visar hur du aktiverar annonsspärrförlängning i Chrome-webbläsaren med klassen Chrome Options och önskade funktioner.

ChromeOptions-alternativ = nya ChromeOptions ();options.addExtensions (ny fil ("Sökväg till CRX-fil"));DesiredCapabilities-funktioner = nya DesiredCapabilities ();möjligheter.setCapability (ChromeOptions.CAPABILITY, alternativ);ChromeDriver-drivrutin = ny ChromeDriver (funktioner);

Extrahera CRX-fil:

Nedanstående steg visar processen för att extrahera CRX-fil genom Ad Blocker via webbplatsen - http://crxextractor.com/

Steg 1) Gå till http://crxextractor.com/ och klicka på startknappen

Steg 2) Ange kromtillägget - Ad Blocker URL under textrutan. URL för Adblock i Chrome webbutik är https://chrome.google.com/webstore/detail/adblock-%E2%80%94-best-ad-blocker/gighmmpiobklfepjocnamgkkbiglidom

och klicka ok

Steg 3) När du klickar på OK-knappen kommer knappens etikett att ändras till Get .CRX enligt nedan. Klicka på Get .CRX-knappen, CRX-filen som motsvarar tillägget laddas ner

Steg 4) Spara filen på den lokala maskinen, anteckna den sparade sökvägen. Nästa steg är att skicka den sparade sökvägen till Chrome-alternativklassen

Exempelkod:

  1. Du kommer att se annonser på http://demo.guru99.com/ enligt nedan

  1. Med AdBlocker-tillägg aktiverat i Chrome bör webbläsare inaktiveras
paket adblock;importera java.io.File;importera org.openqa.selenium.chrome.ChromeDriver;importera org.openqa.selenium.chrome.ChromeOptions;importera org.openqa.selenium.remote.DesiredCapabilities;offentlig klass AdblockDemo {public static void main (String [] args) {System.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");ChromeOptions-alternativ = nya ChromeOptions ();options.addExtensions (ny fil ("X: //extension_3_40_1_0.crx"));DesiredCapabilities-funktioner = nya DesiredCapabilities ();möjligheter.setCapability (ChromeOptions.CAPABILITY, alternativ);options.merge (funktioner);ChromeDriver-drivrutin = ny ChromeDriver (alternativ);driver.get ("http://demo.guru99.com/test/simple_context_menu.html");driver.manage (). fönster (). maximera ();//driver.quit ();}}

Kodförklaring:

  1. Inledningsvis måste du ställa in sökvägen till chromedriver.exe-filen med metoden set property eftersom du använder Chrome Browser för testning
  2. Du måste ställa in sökvägen till CRX File för att lägga till tilläggsmetoden
  3. Då måste du skapa ett objekt med önskad kapacitetsklass och skicka det till webbdrivrutininstansen. Från Selenium 3.8.1-versionen föråts klassen av drivrutinsfunktioner och du måste slå samman kapacitetsobjekt med Chrome Options-objekt innan du skickar samma som ett argument till Chrome Driver-konstruktören
  4. Öppna webbadressen - http://demo.guru99.com/test/simple_context_menu.html med Ad Blocker-tillägg aktiverat
  5. Maximera och stäng webbläsaren

OBS: Vi aktiverar AdBlocker-tillägget i Chrome-webbläsaren genom automatiseringsskript istället för att manuellt aktivera Adblocker-tillägget i Chrome-webbläsaren. CRX File är ett sätt att komma åt ad blockerare med hjälp av automatiseringsskript

Produktion:

Chrome-webbläsaren kommer att aktiveras med AdBlocker-tillägget aktiverat enligt nedan utan några annonser

Chrome-alternativ för inkognitoläge

Chrome-alternativ kan användas för inkognitoläge med hjälp av det fördefinierade argumentet - inkognito .

Nedan är exempelkoden för att uppnå samma.

Exempelkod:

paketprov;importera java.io.File;importera org.openqa.selenium.chrome.ChromeDriver;importera org.openqa.selenium.chrome.ChromeOptions;importera org.openqa.selenium.remote.DesiredCapabilities;allmän klass Incognito {public static void main (String [] args) {// TODO Auto-genererad metodstubSystem.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");ChromeOptions-alternativ = nya ChromeOptions ();options.addArguments ("- inkognito");DesiredCapabilities-funktioner = nya DesiredCapabilities ();möjligheter.setCapability (ChromeOptions.CAPABILITY, alternativ);options.merge (funktioner);ChromeDriver-drivrutin = ny ChromeDriver (alternativ);driver.get ("http://demo.guru99.com/test/simple_context_menu.html");driver.manage (). fönster (). maximera ();//driver.quit ();}}

Kodförklaring :

  1. Inledningsvis måste du ställa in sökvägen till chromedriver.exe-filen med metoden set property eftersom du använder Chrome Browser för testning
  2. Då måste du skapa ett objekt i Chrome Options-klassen och skicka det till webbdrivrutinsinstansen. Eftersom vi vill öppna Chrome-webbläsaren i inkognitoläge måste du skicka argumentet -incognito till Chrome-alternativklassen.
  3. Skapa sedan ett objekt av klassen Önskad kapacitet och slå samman klassobjektet Önskad kapacitet med klassobjektet Chrome Options med hjälp av sammanslagningsmetoden
  4. Du måste skapa ett objekt i Chrome Driver-klassen och skicka Chrome Options-objektet som ett argument
  5. Slutligen måste vi skicka URL: en - http://demo.guru99.com/test/simple_context_menu.html till metoden driver.get
  6. Maximera och stäng webbläsaren

Produktion:

Chrome-webbläsarfönstret öppnas i inkognitoläge enligt nedan

Chrome-alternativ för Chrome utan huvud

En huvudlös webbläsare körs i bakgrunden. Du kommer inte att se webbläsarens GUI eller operationerna som har drivits på den.

Chrome-alternativ för att köra Chrome-webbläsaren i headless-läge kan uppnås genom att använda de fördefinierade argumenten - headless .

Exempelkod för att uppnå det nämns nedan.

Exempel:

paketprov;importera java.io.File;importera org.openqa.selenium.chrome.ChromeDriver;importera org.openqa.selenium.chrome.ChromeOptions;importera org.openqa.selenium.remote.DesiredCapabilities;offentlig klass HeadlessModeDemo {public static void main (String [] args) {// TODO Auto-genererad metodstubSystem.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");ChromeOptions-alternativ = nya ChromeOptions ();options.addArguments ("- headless");DesiredCapabilities-funktioner = nya DesiredCapabilities ();möjligheter.setCapability (ChromeOptions.CAPABILITY, alternativ);options.merge (funktioner);ChromeDriver-drivrutin = ny ChromeDriver (alternativ);driver.get ("http://demo.guru99.com/");driver.manage (). fönster (). maximera ();String title = driver.getTitle ();System.out.println ("Sidrubrik: + titel);driver.quit ();}}

Kodförklaring :

  1. Inledningsvis måste du ställa in sökvägen till chromedriver.exe-filen med metoden set property eftersom du använder Chrome Browser för testning
  2. Skapa sedan ett objekt av Chrome Options-klass och skicka det till webbdrivrutinsinstansen. Eftersom vi vill öppna Chrome-webbläsaren i headless-läge måste vi skicka argumentet -headless till Chrome Options-klassen.
  3. Skapa ett objekt av önskad kapacitet och slå samman klassobjektet Önskad kapacitet med klassobjektet Chrome Options med hjälp av sammanslagningsmetoden
  4. Skapa ett objekt i Chrome Driver-klassen och skicka Chrome Options-objektet som ett argument
  5. Slutligen måste vi skicka URL: n - http://demo.guru99.com/ till metoden driver.get
  6. Skriv ut sidans titel och stäng webbläsaren

Produktion

Webbläsaren kommer inte att synas för ovanstående kod eftersom Chrome fungerar i huvudlöst läge. Sidans titel kommer att hämtas och visas enligt nedan.

Sammanfattning:

  • Chrome-alternativsklassen används för att manipulera olika egenskaper hos Chrome-drivrutinen
  • Desired Capabilities-klassen ger en uppsättning nyckel-värdepar för att ändra enskilda egenskaper hos webbdrivrutinen som webbläsarens namn, webbläsarplattform etc.
  • För att manipulera eventuella tillägg i Chrome-webbläsaren måste CRX-fil som motsvarar tillägget extraheras och läggas till i Chrome-alternativklassen
  • --incognito och -headless är fördefinierade argument som tillhandahålls av Chrome Options-klassen för att använda Chrome-webbläsaren i inkognitoläge och headless-läge