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:
- Du kommer att se annonser på http://demo.guru99.com/ enligt nedan
- 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:
- 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
- Du måste ställa in sökvägen till CRX File för att lägga till tilläggsmetoden
- 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
- Öppna webbadressen - http://demo.guru99.com/test/simple_context_menu.html med Ad Blocker-tillägg aktiverat
- 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 :
- 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
- 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.
- Skapa sedan ett objekt av klassen Önskad kapacitet och slå samman klassobjektet Önskad kapacitet med klassobjektet Chrome Options med hjälp av sammanslagningsmetoden
- Du måste skapa ett objekt i Chrome Driver-klassen och skicka Chrome Options-objektet som ett argument
- Slutligen måste vi skicka URL: en - http://demo.guru99.com/test/simple_context_menu.html till metoden driver.get
- 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 :
- 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
- 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.
- Skapa ett objekt av önskad kapacitet och slå samman klassobjektet Önskad kapacitet med klassobjektet Chrome Options med hjälp av sammanslagningsmetoden
- Skapa ett objekt i Chrome Driver-klassen och skicka Chrome Options-objektet som ett argument
- Slutligen måste vi skicka URL: n - http://demo.guru99.com/ till metoden driver.get
- 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