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

Csomagolja ki a CRX fájlt

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

Csomagolja ki a CRX fájlt

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

Csomagolja ki a CRX fájlt

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:

  1. Hirdetéseket fog látni a címen http://demo.guru99.com/ az alábbi

Csomagolja ki a CRX fájlt

  1. 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:

  1. 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.
  2. A kiterjesztések hozzáadásához be kell állítania a CRX fájl elérési útját
  3. 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
  4. Nyissa meg az URL-t - http://demo.guru99.com/test/simple_context_menu.html a Hirdetésblokkoló bővítmény engedélyezve van
  5. 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

Csomagolja ki a CRX fájlt

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:

  1. 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.
  2. 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.
  3. 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
  4. Létre kell hoznia egy Chrome Driver osztály objektumot, és argumentumként át kell adnia a Chrome Options objektumot
  5. Végül át kell adnunk az URL-t – http://demo.guru99.com/test/simple_context_menu.html a driverhez.get metódus
  6. 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 inkognitómódhoz

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:

  1. 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.
  2. 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.
  3. 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
  4. 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
  5. Végül át kell adnunk az URL-t – http://demo.guru99.com/ a driverhez.get metódus
  6. 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.

Chrome-beállítások a fej nélküli Chrome-hoz

Ö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