Chrome-Optionen und gewünschte Funktionen in Selenium
⚡ Intelligente Zusammenfassung
Chrome-Optionen und gewünschte Funktionen in Selenium WebDriver steuert, wie der Chrome-Browser während automatisierter Tests gestartet wird und sich verhält. Gemeinsam konfigurieren sie Argumente, Erweiterungen, SSL-Verarbeitung und browserübergreifende Einstellungen und machen Testläufe so flexibel, wiederholbar und bereit für … Selenium Grid-Ausführung.

Was ist die Chrome Options-Klasse?
Das Chromeoptions-Klasse ist ein Konzept in Selenium WebDriver zum Bearbeiten verschiedener Eigenschaften des Chrome-Treibers. Die Chrome-Optionsklasse wird im Allgemeinen in Verbindung mit Desired Capabilities zum Anpassen von Chrome-Treibersitzungen verwendet. Sie hilft Ihnen beim Ausführen verschiedener Vorgänge, z. B. beim Öffnen von Chrome im maximierten Modus, beim Deaktivieren vorhandener Erweiterungen, beim Deaktivieren von Popups usw.
Ejemplo:
Das folgende Beispiel zeigt eine Möglichkeit, den Chrome-Browser mithilfe der ChromeOptions-Klasse im maximierten Modus zu öffnen. Wir müssen eine Instanz der ChromeOptions-Klasse an die Webtreiberinitialisierung übergeben.
ChromeOptions options = new ChromeOptions() options.addArgument("start-maximized"); ChromeDriver driver = new ChromeDriver(options);
Nachfolgend finden Sie eine Liste der verfügbaren und am häufigsten verwendeten Argumente für die ChromeOptions-Klasse
- startmaximiert: Öffnet Chrome im Maximierungsmodus
- inkognito: Öffnet Chrome im Inkognito-Modus
- kopflos: Öffnet Chrome im Headless-Modus
- Erweiterungen deaktivieren: Deaktiviert vorhandene Erweiterungen im Chrome-Browser
- Popup-Blockierung deaktivieren: Deaktiviert Popups, die im Chrome-Browser angezeigt werden
- make-default-browser: Macht Chrome zum Standardbrowser
- Version: Druckt die Chrome-Browserversion
- Infoleisten deaktivieren: Verhindert, dass Chrome die Benachrichtigung „Chrome wird von automatisierter Software gesteuert“ anzeigt
Klasse „Gewünschte Fähigkeiten“.
Gewünschte Fähigkeitsklasse wird verwendet, um mehrere Eigenschaften von Webtreibern zu ändern. Es stellt Schlüssel-Wert-Paare bereit, um einzelne Eigenschaften von Webtreibern wie Browsername, Browserplattform usw. zu ändern. Eine gängige Methode der Desired Capabilities-Klasse ist die setCapability-Methode. Es wird hauptsächlich mit verwendet Selenium Raster, in dem derselbe Testfall auf verschiedenen Browsern ausgeführt werden muss.
Ejemplo:
Das folgende Beispiel zeigt, wie der Chrome-Browser mithilfe der Klasse „Desired Capabilities for Chrome“ standardmäßig SSL-Zertifikate auf Websites akzeptieren kann.
// 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);
Nachfolgend sind die am häufigsten verwendeten vordefinierten Fähigkeitstypen aufgeführt.
| Funktionsname | Beschreibung |
|---|---|
| ACCEPT_SSL_CERTS | Diese Eigenschaft weist den Browser an, standardmäßig SSL-Zertifikate zu akzeptieren |
| Platform_name | Mit dieser Eigenschaft wird die Betriebssystemplattform festgelegt, die für den Zugriff auf die Website verwendet wird. |
| BROWSER_NAME | Mit dieser Eigenschaft wird der Browsername für eine Webtreiberinstanz festgelegt |
| VERSION | Mit dieser Eigenschaft wird die Browserversion festgelegt |
Chrome-Optionen für die Adblocker-Erweiterung
Die Adblocker-Erweiterung des Chrome-Browsers kann mithilfe der ChromeDriver-Optionen und der Desired Capabilities-Klasse verwaltet werden. Nachfolgend finden Sie die Schritte zum Zugriff AdBlockEr-Erweiterung im Chrome-Browser mithilfe der Desired Capabilities-Klasse.
Schritt 1) AdBlockDie Erweiterung „Er“ muss im Chrome-Browser installiert werden, bevor die Chrome-Optionsklasse verwendet werden kann
Schritt 2) Extract die CRX-Datei entsprechend AdBlocker Erweiterung über http://crxextractor.com/
Schritt 3) Übergeben Sie den heruntergeladenen CRX-Dateipfad an die Chrome-Optionsklasse
Schritt 4) Instanziieren Sie den Webtreiber mit der gewünschten Funktionsklasse und den Chrome-Optionen in Selenium Objekt
Ejemplo:
Das folgende Beispiel zeigt, wie Sie die Werbeblocker-Erweiterung im Chrome-Browser mithilfe der Chrome-Optionen und der Klasse „Gewünschte Funktionen“ aktivieren.
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);
Extract CRX-Datei
Die folgenden Schritte veranschaulichen den Prozess von extracCRX-Datei über den Adblocker über die Webseite einbinden – http://crxextractor.com/
Schritt 1) Zurück Nach http://crxextractor.com/ und klicken Sie auf die Schaltfläche „Start“.
Schritt 2) Installieren Sie die Chrome-Erweiterung „Ad Blocker“. URL unter dem Textfeld. URL für Adblock im Chrome Web Store ist https://chrome.google.com/webstore/detail/adblock-%E2%80%94-best-ad-blocker/gighmmpiobklfepjocnamgkkbiglidom
und klicken Sie auf OK
Schritt 3) Wenn Sie auf die Schaltfläche „OK“ klicken, ändert sich die Beschriftung der Schaltfläche in „Get .CRX“ (siehe unten). Klicken Sie auf die Schaltfläche „Get .CRX“. Die der Erweiterung entsprechende CRX-Datei wird heruntergeladen
Schritt 4) Speichern Sie die Datei auf dem lokalen Computer und notieren Sie sich den gespeicherten Pfad. Der nächste Schritt besteht darin, den gespeicherten Pfad an die Chrome-Optionsklasse zu übergeben
Musteranfrage Code:
- Sie sehen Anzeigen unter https://demo.guru99.com/ wie nachstehend
- Mit AdBlockDie für Chrome-Browseranzeigen aktivierte Erweiterung sollte deaktiviert werden
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(); } }
Code Erläuterung:
- Zunächst müssen Sie den Pfad zur Datei chromedriver.exe mithilfe der Set-Property-Methode festlegen, da Sie den Chrome-Browser zum Testen verwenden
- Sie müssen den Pfad zur CRX-Datei festlegen, um die Erweiterungsmethode hinzuzufügen
- Dann müssen Sie ein Objekt mit den gewünschten Chrome-Funktionen erstellen Selenium Klasse und übergeben Sie sie an die Webtreiberinstanz. Aus Selenium In der Version 3.8.1 ist die Treiberfunktionsklasse veraltet und Sie müssen das Funktionsobjekt mit dem Chrome-Optionsobjekt zusammenführen, bevor Sie es als Argument an den Chrome-Treiberkonstruktor übergeben
- Öffnen Sie den Microsoft Store auf Ihrem Windows-PC URL - https://demo.guru99.com/test/simple_context_menu.html mit aktivierter Ad-Blocker-Erweiterung
- Maximieren und schließen Sie den Browser
Anmerkungen: Wir ermöglichen AdBlockäh Erweiterung im Chrome-Browser über ein Automatisierungsskript, anstatt die Adblocker-Erweiterung im Chrome-Browser manuell zu aktivieren. CRX File ist eine Möglichkeit, über ein Automatisierungsskript auf die Adblocker-Erweiterung zuzugreifen
Ausgang:
Der Chrome-Browser wird mit aktiviert AdBlockEr-Erweiterung wie unten ohne Werbung aktiviert
Neben dem Laden von Erweiterungen steuert ChromeOptions auch, wie das Browserfenster selbst funktioniert.
Chrome-Optionen für den Inkognito-Modus
Chrome-Optionen können für den Inkognito-Modus verwendet werden, indem das vordefinierte Argument verwendet wird:Inkognito.
Unten finden Sie den Beispielcode, um dasselbe zu erreichen.
Musteranfrage Code:
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(); } }
Code Erläuterung:
- Zunächst müssen Sie den Pfad zur Datei chromedriver.exe mithilfe der Set-Property-Methode festlegen, da Sie den Chrome-Browser zum Testen verwenden
- Anschließend müssen Sie ein Objekt der Chrome-Optionsklasse erstellen und es an die Webtreiberinstanz übergeben. Da wir den Chrome-Browser im Inkognito-Modus öffnen möchten, müssen Sie das Argument –incognito an die Chrome-Optionsklasse übergeben.
- Erstellen Sie als Nächstes ein Objekt der Klasse „Desired Capabilities“ und führen Sie das Klassenobjekt „Desired Capabilities“ mithilfe der Merge-Methode mit dem Klassenobjekt „Chrome Options“ zusammen
- Sie müssen ein Objekt der Chrome-Treiberklasse erstellen und das Chrome-Optionsobjekt als Argument übergeben
- Zum Schluss müssen wir noch die URL - https://demo.guru99.com/test/simple_context_menu.html zur Methode „driver.get“.
- Maximieren und schließen Sie den Browser
Ausgang:
Das Chrome-Browserfenster wird wie folgt im Inkognito-Modus geöffnet
Chrome-Optionen für Headless Chrome
Ein Headless-Browser läuft im Hintergrund. Sie sehen weder die grafische Benutzeroberfläche des Browsers noch die darauf ausgeführten Vorgänge.
Chrome-Optionen zum Ausführen des Chrome-Browsers im Headless-Modus können mithilfe der vordefinierten Argumente erreicht werden:kopflos.
Beispielcode, um dies zu erreichen, ist unten aufgeführt.
Ejemplo:
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(); } }
Code Erläuterung:
- Zunächst müssen Sie den Pfad zur Datei chromedriver.exe mithilfe der Set-Property-Methode festlegen, da Sie den Chrome-Browser zum Testen verwenden
- Erstellen Sie als Nächstes ein Objekt der Chrome-Optionsklasse und übergeben Sie es an die Webtreiberinstanz. Da wir den Chrome-Browser im Headless-Modus öffnen möchten, müssen wir das Argument –headless an die Chrome-Optionsklasse übergeben.
- Erstellen Sie ein Objekt der Chrome-Klasse „DesiredCapabilities“ und führen Sie das Klassenobjekt „Desired Capabilities“ mithilfe der Merge-Methode mit dem Klassenobjekt „Chrome Options“ zusammen
- Erstellen Sie ein Objekt der Chrome-Treiberklasse und übergeben Sie die Chrome-Optionen Selenium Objekt als Argument
- Zum Schluss müssen wir noch die URL - https://demo.guru99.com/ zur Methode „driver.get“.
- Drucken Sie den Seitentitel aus und schließen Sie den Browser
Ausgang
Der Browser ist für den obigen Code nicht sichtbar, da Chrome im Headless-Modus arbeitet. Der Seitentitel wird abgerufen und wie unten angezeigt.







