Chrome-beállítások és kívánt képességek Selenium Webdriver
Mi az a Chrome Options Class?
A Chromeoptions osztály egy fogalom benne Selenium WebDriver a Chrome illesztőprogram különféle tulajdonságainak kezeléséhez. A Chrome-beállítások osztályát általában a kívánt képességekkel együtt használják a Chrome-illesztőprogram-munkamenetek testreszabásához. Segít különféle műveletek végrehajtásában, például a Chrome megnyitása maximalizált módban, a meglévő bővítmények letiltása, az előugró ablakok letiltása stb.
Példa:
Az alábbi példa bemutatja a Chrome böngésző megnyitásának módját maximális módban a ChromeOptions osztály használatával. Át kell adnunk a ChromeOptions osztály egy példányát a web-illesztőprogram inicializálásához.
ChromeOptions options = new ChromeOptions() options.addArgument("start-maximized"); ChromeDriver driver = new ChromeDriver(options);
Az alábbiakban a ChromeOptions osztály elérhető és leggyakrabban használt argumentumainak listája található
- start-maximalizált: Maximalizálás módban nyitja meg a Chrome-ot
- inkognitó: Megnyitja a Chrome-ot inkognitó módban
- fejetlen: Megnyitja a Chrome-ot fej nélküli módban
- bővítmények letiltása: Letiltja a meglévő bővítményeket a Chrome böngészőben
- felugró ablakok letiltása: Letiltja a Chrome böngészőben megjelenő előugró ablakokat
- make-default-browser: A Chrome-ot alapértelmezett böngészővé teszi
- változat: Kinyomtatja a Chrome böngésző verzióját
- információs sávok letiltása: Megakadályozza, hogy a Chrome megjelenítse a „A Chrome-ot automatizált szoftver vezérli” értesítést
Kívánt képességek osztály
Kívánt képességosztály a webes illesztőprogramok több tulajdonságának módosítására szolgál. Kulcs-érték párokat biztosít a web-illesztőprogramok egyedi tulajdonságainak, például böngészőnév, böngészőplatform stb. módosításához. A Desired Capabilities osztály általános módszere a setCapability metódus. Leginkább együtt használják Selenium Grid, ahol ugyanazt a tesztesetet kell végrehajtani különböző böngészőkön.
Példa:
Az alábbi példa bemutatja, hogyan engedélyezheti a Chrome böngésző számára, hogy alapértelmezés szerint fogadja el az SSL-tanúsítványokat a webhelyeken a kívánt képességek Chrome-osztályhoz használatával.
// 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);
Az alábbiakban a leggyakrabban használt előre meghatározott képességtípusok találhatók.
Képesség neve | Leírás |
---|---|
ACCEPT_SSL_CERTS | Ez a tulajdonság arra utasítja a böngészőt, hogy alapértelmezés szerint fogadja el az SSL-tanúsítványokat |
PLATFORM_NAME | Ez a tulajdonság a webhely eléréséhez használt operációs rendszer platformjának beállítására szolgál |
BROWSER_NAME | Ez a tulajdonság egy web-illesztőprogram-példány böngészőnevének beállítására szolgál |
VÁLTOZAT | Ez a tulajdonság a böngésző verziójának beállítására szolgál |
Chrome-beállítások az Adblocker bővítményhez
A Chrome böngésző Adblocker bővítménye a ChromeDriver Options és a Desired Capabilities osztály segítségével kezelhető. Az alábbiakban bemutatjuk a hozzáférés lépéseit AdBlocker bővítményt a Chrome böngészőben a Desired Capabilities osztály használatával.
Step 1) AdBlocker bővítményt telepíteni kell a Chrome böngészőbe a Chrome Options osztály használata előtt
Step 2) Bontsa ki a megfelelő CRX fájlt AdBlocker kiterjesztés a http://crxextractor.com/ oldalon
Step 3) Adja át a letöltött CRX-fájl elérési útját a Chrome Options osztálynak
Step 4) Példányosítsa a webes illesztőprogramot a kívánt képességosztály és a Chrome-beállítások segítségével Selenium tárgy
Példa:
Az alábbi példa bemutatja, hogyan aktiválható a hirdetésblokkoló bővítmény a Chrome böngészőben a Chrome Options és Desired Capabilities osztály használatával.
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);
Csomagolja ki a CRX fájlt
Az alábbi lépések bemutatják a CRX fájl kibontásának folyamatát az Ad Blocker segítségével a webhelyen keresztül - http://crxextractor.com/
Step 1) Ugrás http://crxextractor.com/ és kattintson a Start gombra
Step 2) Adja meg a Chrome kiterjesztést – a hirdetésblokkoló URL-címét a szövegmező alatt. Az Adblock URL-je a Chrome webáruházban a következő https://chrome.google.com/webstore/detail/adblock-%E2%80%94-best-ad-blocker/gighmmpiobklfepjocnamgkkbiglidom
és kattintson az OK gombra
Step 3) Az OK gombra kattintva a gomb címkéje .CRX beszerzése lesz, az alábbiak szerint. Kattintson a Get .CRX gombra, a kiterjesztésnek megfelelő CRX fájl letöltésre kerül
Step 4) Mentse a fájlt a helyi gépre, jegyezze fel a mentett elérési utat. A következő lépés a mentett elérési út átadása a Chrome Options osztálynak
Mintakód:
- Hirdetéseket fog látni a címen
http://demo.guru99.com/
az alábbi
- A AdBlockA Chrome böngésző hirdetéseiben engedélyezett bővítményt le kell tiltani
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(); } }
Kód Magyarázat:
- Kezdetben be kell állítania a chromedriver.exe fájl elérési útját a set property metódussal, mivel a Chrome böngészőt használja tesztelésre.
- A kiterjesztések hozzáadásához be kell állítania a CRX fájl elérési útját
- Ezután létre kell hoznia egy objektumot a Chrome kívánt képességeivel Selenium osztályt, és adja át a webillesztő-példánynak. Tól től Selenium 3.8.1-es verzió, az illesztőprogram-képesség osztály elavult, és össze kell egyesítenie a képességobjektumot a Chrome Options objektummal, mielőtt ugyanazt argumentumként adná át a Chrome Driver konstruktornak
- Nyissa meg az URL-t -
http://demo.guru99.com/test/simple_context_menu.html
a Hirdetésblokkoló bővítmény engedélyezve van - Maximalizálja és zárja be a böngészőt
JEGYZET: Engedélyezzük AdBlocker kiterjesztés a Chrome böngészőben automatizálási szkripten keresztül, ahelyett, hogy manuálisan engedélyezné az Adblocker bővítményt a Chrome böngészőben. A CRX-fájl egy módja annak, hogy automatizálási szkript segítségével hozzáférjen a hirdetésblokkoló bővítményhez
output:
A Chrome böngésző a következővel lesz engedélyezve AdBlocker bővítmény az alábbiak szerint engedélyezve, hirdetések nélkül
Chrome-beállítások inkognitómódhoz
A Chrome beállításai inkognitó módban használhatók az előre meghatározott argumentum használatával –inkognitó.
Az alábbiakban egy mintakód található, amellyel ugyanezt lehet elérni.
Mintakód:
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(); } }
Kód Magyarázat:
- Kezdetben be kell állítania a chromedriver.exe fájl elérési útját a set property metódussal, mivel a Chrome böngészőt használja tesztelésre.
- Ezután létre kell hoznia egy objektumot a Chrome Options osztályból, és át kell adnia a web-illesztőprogram-példánynak. Mivel inkognitó módban szeretnénk megnyitni a Chrome böngészőt, át kell adnia az –incognito argumentumot a Chrome Options osztálynak.
- Ezután hozzon létre egy objektumot a Desired Capabilities osztályból, és egyesítse a Desired Capabilities osztály objektumot a Chrome Options osztályobjektumával az egyesítési módszerrel
- Létre kell hoznia egy Chrome Driver osztály objektumot, és argumentumként át kell adnia a Chrome Options objektumot
- Végül át kell adnunk az URL-t –
http://demo.guru99.com/test/simple_context_menu.html
a driverhez.get metódus - Maximalizálja és zárja be a böngészőt
output:
A Chrome böngészőablak az alábbiak szerint inkognitó módban nyílik meg
Chrome-beállítások a fej nélküli Chrome-hoz
Fej nélküli böngésző fut a háttérben. Nem fogja látni a böngésző grafikus felhasználói felületét vagy a rajta végrehajtott műveleteket.
Chrome A Chrome böngésző fej nélküli módban történő futtatásának beállításai az előre meghatározott argumentumok használatával érhetők el –fejetlen.
A megvalósításhoz szükséges mintakód az alábbiakban található.
Példa:
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(); } }
Kód Magyarázat:
- Kezdetben be kell állítania a chromedriver.exe fájl elérési útját a set property metódussal, mivel a Chrome böngészőt használja tesztelésre.
- Ezután hozzon létre egy objektumot a Chrome Options osztályból, és adja át a webes illesztőprogram-példánynak. Mivel a Chrome böngészőt fej nélküli módban szeretnénk megnyitni, a –headless argumentumot át kell adnunk a Chrome Options osztálynak.
- Hozzon létre egy objektumot a DesiredCapabilities Chrome osztályból, és egyesítse a Desired Capabilities osztály objektumot a Chrome Options osztály objektummal az egyesítési módszerrel
- Hozzon létre egy objektumot a Chrome Driver osztályból, és adja át a Chrome beállításait Selenium tárgyat érvként
- Végül át kell adnunk az URL-t –
http://demo.guru99.com/
a driverhez.get metódus - Nyomtassa ki az oldal címét, és zárja be a böngészőt
teljesítmény
A böngésző nem lesz látható a fenti kódnál, mivel a Chrome Fej nélküli módban fog működni. Az oldal címe az alábbiak szerint kerül leolvasásra és megjelenítésre.
Összegzésként
- Selenium A Chrome Options osztály a Chrome illesztőprogram különféle tulajdonságainak kezeléséhez használható
- A kívánt Chrome-képességek osztály kulcs-érték párokat biztosít a web-illesztőprogram egyes tulajdonságainak, például a böngésző nevének, a böngészőplatformnak stb. módosításához.
- A Chrome böngésző bármely bővítményének kezeléséhez a kiterjesztésnek megfelelő CRX fájlt ki kell csomagolni, és hozzá kell adni a Chrome Options osztályhoz.
- Az –inkognitó és –fej nélküli a Chrome Options osztály által biztosított előre meghatározott argumentumok a Chrome böngésző inkognitó és fej nélküli módban való használatához