Chromen asetukset ja halutut ominaisuudet Selenium Web-ohjain
Mikä on Chromen asetusluokka?
- Chromeoptiot-luokka on käsite Selenium WebDriver Chrome-ohjaimen eri ominaisuuksien käsittelemiseen. Chromen asetusluokkaa käytetään yleensä yhdessä Haluttujen ominaisuuksien kanssa Chrome-ohjainistuntojen mukauttamiseen. Se auttaa sinua suorittamaan erilaisia toimintoja, kuten avaamaan Chromen maksimoidussa tilassa, poistamaan olemassa olevat laajennukset, poistamaan ponnahdusikkunat jne.
Esimerkiksi:
Alla oleva esimerkki näyttää tavan avata Chrome-selain suurennetussa tilassa ChromeOptions-luokan avulla. Meidän on välitettävä ChromeOptions-luokan esiintymä verkkoohjaimen alustukseen.
ChromeOptions options = new ChromeOptions() options.addArgument("start-maximized"); ChromeDriver driver = new ChromeDriver(options);
Alla on luettelo ChromeOptions-luokan käytettävissä olevista ja yleisimmin käytetyistä argumenteista
- aloitus-maksimoitu: Avaa Chromen suurennustilassa
- incognito: Avaa Chromen incognito-tilassa
- päätön: Avaa Chromen päättömässä tilassa
- poista laajennukset käytöstä: Poistaa käytöstä Chrome-selaimen olemassa olevat laajennukset
- poista ponnahdusikkunoiden esto käytöstä: Poistaa käytöstä Chrome-selaimessa näkyvät ponnahdusikkunat
- make-default-selain: Tekee Chromesta oletusselaimen
- versio: Tulostaa Chrome-selainversion
- poista tietopalkit käytöstä: Estää Chromea näyttämästä ilmoitusta "Chromea ohjaa automaattinen ohjelmisto
Halutut ominaisuudet -luokka
Haluttu ominaisuusluokka käytetään useiden verkko-ohjainten ominaisuuksien muokkaamiseen. Se tarjoaa avain-arvo-pareja web-ajurien yksittäisten ominaisuuksien, kuten selaimen nimen, selainalustan jne. muuttamiseksi. Yleinen Desired Capabilities -luokan menetelmä on setCapability-menetelmä. Sitä käytetään enimmäkseen Selenium Grid, jossa sama testitapaus on suoritettava eri selaimissa.
Esimerkiksi:
Alla oleva esimerkki näyttää tavan, jolla Chrome-selain voi hyväksyä SSL-varmenteita verkkosivustoilla oletuksena käyttämällä Chrome-luokan Halutut ominaisuudet.
// 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);
Alla on yleisimmin käytetyt ennalta määritetyt ominaisuustyypit.
Valmiuden nimi | Tuotetiedot |
---|---|
ACCEPT_SSL_CERTS | Tämä ominaisuus käskee selaimen hyväksymään SSL-sertifikaatit oletuksena |
PLATFORM_NAME | Tätä ominaisuutta käytetään määrittämään verkkosivustolle pääsyyn käytettävä käyttöjärjestelmä |
BROWSER_NAME | Tätä ominaisuutta käytetään määrittämään selaimen nimi verkkoajurin esiintymälle |
VERSION | Tätä ominaisuutta käytettiin selainversion asettamiseen |
Chrome-asetukset Adblocker-laajennukselle
Chrome-selaimen Adblocker-laajennusta voidaan käsitellä käyttämällä ChromeDriver Options- ja Desired Capabilities -luokkaa. Alla on pääsyn vaiheet AdBlocker laajennus Chrome-selaimessa käyttämällä Desired Capabilities -luokkaa.
Vaihe 1) AdBlocker laajennus on asennettava Chrome-selaimeen ennen Chrome Options -luokan käyttöä
Vaihe 2) Pura tiedostoa vastaava CRX-tiedosto AdBlocker laajennus http://crxextractor.com/
Vaihe 3) Välitä ladatun CRX-tiedoston polku Chrome Options -luokkaan
Vaihe 4) Luo verkko-ohjain halutun ominaisuusluokan ja Chromen asetusten avulla Selenium objekti
Esimerkiksi:
Alla oleva esimerkki osoittaa, kuinka mainosten estolaajennus aktivoidaan Chrome-selaimessa käyttämällä Chromen asetukset ja Halutut ominaisuudet -luokkaa.
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);
Pura CRX-tiedosto
Alla olevat vaiheet osoittavat CRX-tiedoston purkamisprosessin Ad Blockerin kautta verkkosivuston kautta - http://crxextractor.com/
Vaihe 1) Mene http://crxextractor.com/ ja napsauta aloituspainiketta
Vaihe 2) Kirjoita tekstikentän alle Chrome-laajennus – Ad Blocker URL. Adblockin URL-osoite Chrome-verkkokaupassa on https://chrome.google.com/webstore/detail/adblock-%E2%80%94-best-ad-blocker/gighmmpiobklfepjocnamgkkbiglidom
ja napsauta ok
Vaihe 3) Kun napsautat OK-painiketta, painikkeen otsikko muuttuu Get .CRX:ksi, kuten alla. Napsauta Hanki .CRX-painiketta, jolloin laajennusta vastaava CRX-tiedosto ladataan
Vaihe 4) Tallenna tiedosto paikalliselle koneelle, kirjoita muistiin tallennettu polku. Seuraava vaihe on siirtää tallennettu polku Chromen asetukset -luokkaan
Esimerkkikoodi:
- Näet mainoksia osoitteessa https://demo.guru99.com/ kuten alla
- Kanssa AdBlockChrome-selainmainoksissa käytössä oleva laajennus tulee poistaa käytöstä
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(); } }
Koodin selitys:
- Aluksi sinun on asetettava polku chromedriver.exe-tiedostoon käyttämällä set property -menetelmää, koska käytät Chrome-selainta testaukseen
- Sinun on asetettava polku CRX-tiedostoon, jotta voit lisätä laajennusmenetelmän
- Sitten sinun on luotava Chrome Desired Capabilities -objekti Selenium luokkaan ja välitä se web-ohjaininstanssille. From Selenium 3.8.1-versio, ajurin ominaisuusluokka on vanhentunut, ja sinun on yhdistettävä ominaisuusobjekti Chrome Options -objektiin ennen kuin välität saman argumentin Chrome Driver -konstruktorille
- Avaa URL - https://demo.guru99.com/test/simple_context_menu.html Ad Blocker -laajennuksen ollessa käytössä
- Maksimoi ja sulje selain
HUOMAUTUS: Olemme mahdollistamassa AdBlocker laajennus Chrome-selaimessa automaatiokoodin avulla sen sijaan, että ottaisit Adblocker-laajennuksen käyttöön manuaalisesti Chrome-selaimessa. CRX-tiedosto on tapa käyttää mainosten estolaajennusta automaatiokomentosarjan avulla
lähtö:
Chrome-selain otetaan käyttöön kanssa AdBlocker laajennus otettu käyttöön alla ilman mainoksia
Chromen asetukset incognito-tilassa
Chromen asetuksia voidaan käyttää incognito-tilassa käyttämällä ennalta määritettyä argumenttia -tuntemattomana.
Alla on esimerkkikoodi saman suorittamiseksi.
Esimerkkikoodi:
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(); } }
Koodin selitys:
- Aluksi sinun on asetettava polku chromedriver.exe-tiedostoon käyttämällä set property -menetelmää, koska käytät Chrome-selainta testaukseen
- Sitten sinun on luotava Chrome Options -luokan objekti ja välitettävä se verkkoohjaininstanssille. Koska haluamme avata Chrome-selaimen incognito-tilassa, sinun on välitettävä argumentti –incognito Chrome Options -luokkaan.
- Luo seuraavaksi Desired Capabilities -luokan objekti ja yhdistä Desired Capabilities -luokan objekti Chrome Options -luokan objektiin yhdistämismenetelmällä
- Sinun on luotava Chrome Driver -luokan objekti ja välitettävä Chrome Options -objekti argumenttina
- Lopuksi meidän on välitettävä URL-osoite - https://demo.guru99.com/test/simple_context_menu.html kuljettajalle.get-menetelmä
- Maksimoi ja sulje selain
lähtö:
Chrome-selainikkuna avataan incognito-tilassa alla kuvatulla tavalla
Chrome-asetukset päättömälle Chromelle
Päätön selain toimii taustalla. Et näe selaimen käyttöliittymää tai sillä suoritettuja toimintoja.
Chrome Asetukset Chrome-selaimen käyttämiseen päättömässä tilassa voidaan suorittaa käyttämällä ennalta määritettyjä argumentteja -kannaton.
Esimerkkikoodi sen suorittamiseksi on mainittu alla.
Esimerkiksi:
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(); } }
Koodin selitys:
- Aluksi sinun on asetettava polku chromedriver.exe-tiedostoon käyttämällä set property -menetelmää, koska käytät Chrome-selainta testaukseen
- Luo seuraavaksi Chrome Options -luokan objekti ja välitä se verkkoohjaininstanssille. Koska haluamme avata Chrome-selaimen päättömässä tilassa, meidän on välitettävä argumentti -headless Chrome Options -luokkaan.
- Luo DesiredCapabilities Chrome-luokan objekti ja yhdistä Desired Capabilities -luokan objekti Chrome Options -luokan objektiin yhdistämismenetelmällä
- Luo Chrome Driver -luokan objekti ja välitä Chrome-asetukset Selenium vastustaa argumenttina
- Lopuksi meidän on välitettävä URL-osoite - https://demo.guru99.com/ kuljettajalle.get-menetelmä
- Tulosta sivun otsikko ja sulje selain
ulostulo
Selain ei näy yllä olevalle koodille, koska Chrome toimii Headless-tilassa. Sivun otsikko noudetaan ja näytetään alla olevan mukaisesti.
Yhteenveto
- Selenium Chrome Options -luokkaa käytetään käsittelemään erilaisia Chrome-ohjaimen ominaisuuksia
- Haluttu Chrome Capabilities -luokka tarjoaa joukon avainarvopareja verkkoohjaimen yksittäisten ominaisuuksien, kuten selaimen nimen, selainalustan jne., muokkaamiseen.
- Chrome-selaimen laajennuksien käsittelyä varten laajennusta vastaava CRX-tiedosto on purettava ja lisättävä Chromen asetukset -luokkaan
- –incognito ja –headless ovat Chrome Options -luokan ennalta määritettyjä argumentteja Chrome-selaimen käyttämiseen incognito- ja headless-tilassa