Параметри Chrome & Бажані можливості: AdBlocker, Incognito, Headless

Зміст:

Anonim

Що таке клас "Параметри Chrome"?

Клас параметрів Chrome використовується для управління різними властивостями драйвера Chrome. Клас параметрів Chrome, як правило, використовується разом із бажаними можливостями.

Приклад:

Нижче приклад показує спосіб відкрити браузер Chrome у розгорнутому режимі за допомогою класу ChromeOptions. Нам потрібно передати екземпляр класу ChromeOptions до ініціалізації веб-драйвера.

Параметри ChromeOptions = нові ChromeOptions ()options.addArgument ("максимізований старт");Драйвер ChromeDriver = новий ChromeDriver (опції);

Нижче наведено список доступних і найбільш часто використовуваних аргументів для класу ChromeOptions

  • максимально розпочате : відкриває Chrome у режимі розгортання
  • інкогніто: відкриває Chrome у режимі інкогніто
  • безголовий: відкриває Chrome у безголовому режимі
  • disable-extensions : вимкнення існуючих розширень у браузері Chrome
  • disable-popup-blocking : вимикає спливаючі вікна, що відображаються в браузері Chrome
  • make-default-browser: Перетворює браузер Chrome за замовчуванням
  • версія : Друкує версію браузера Chrome
  • disable-infobars: Забороняє Chrome відображати сповіщення "Chrome контролюється автоматизованим програмним забезпеченням

У цьому підручнику ви дізнаєтесь

  • Що таке клас "Параметри Chrome"?
  • Клас бажаних можливостей
  • Параметри Chrome для розширення Adblocker
  • Параметри Chrome для режиму анонімного перегляду
  • Параметри Chrome для безголового Chrome

Клас бажаних можливостей

Клас бажаних можливостей використовується для модифікації багатьох властивостей веб-драйвера. Клас бажаних можливостей надає набір пар ключ-значення для зміни окремих властивостей веб-драйвера, таких як назва браузера, платформа браузера тощо. Найбільш часто використовуваним методом класу бажаних можливостей є метод setCapability. Бажані можливості найчастіше використовуються з Selenium Grid, де однаковий тестовий приклад повинен виконуватися в різних браузерах.

Приклад:

Нижче приклад показує спосіб увімкнути браузер Chrome для прийняття сертифікатів SSL на веб-сайтах за замовчуванням за допомогою класу бажаних можливостей.

// Створити об’єкт бажаного класу можливостей за допомогою драйвера ChromeБажані можливості SSLCertificate = бажані можливості.chrome ();// Встановіть заздалегідь визначену можливість - значення ACCEPT_SSL_CERTS на trueSSLCertificate.setCapability (CapabilityType.ACCEPT_SSL_CERTS, істина);// Відкриваємо новий екземпляр драйвера chrome із бажаними можливостямиДрайвер WebDriver = новий ChromeDriver (SSLCertificate);

Нижче наведено найбільш часто використовувані заздалегідь визначені типи можливостей.

Назва можливості Опис
ACCEPT_SSL_CERTS Ця властивість повідомляє браузеру прийняти сертифікати SSL за замовчуванням
PLATFORM_NAME Ця властивість використовується для встановлення платформи операційної системи, що використовується для доступу до веб-сайту
BROWSER_NAME Ця властивість використовується для встановлення імені браузера для екземпляра веб-драйвера
ВЕРСІЯ Ця властивість використовувалася для встановлення версії браузера

Параметри Chrome для розширення Adblocker

Розширення Adblocker браузера Chrome можна обробляти, використовуючи параметри Chrome та клас «Бажані можливості». Нижче наведені кроки для доступу до розширення AdBlocker у браузері Chrome за допомогою класу бажаних можливостей.

Крок 1) Розширення AdBlocker потрібно встановити у браузері Chrome перед використанням класу Параметри Chrome

Крок 2) Витягніть файл CRX, що відповідає розширенню AdBlocker, через http://crxextractor.com/

Крок 3) Передайте шлях завантаженого файлу CRX до класу Параметри Chrome

Крок 4) Примірник веб-драйвера, використовуючи потрібний клас можливостей та об’єкт chrome options

Приклад:

Наведений нижче приклад демонструє, як активувати розширення блокування реклами у браузері Chrome за допомогою параметрів Chrome та класу бажаних можливостей.

Параметри ChromeOptions = нові ChromeOptions ();options.addExtensions (новий файл ("Шлях до файлу CRX"));Можливості бажаних можливостей = нові бажані можливості ();възможности.setCapability (ChromeOptions.CAPABILITY, параметри);Драйвер ChromeDriver = новий ChromeDriver (можливості);

Витяг CRX-файлу:

Нижче наведені кроки, що демонструють процес вилучення файлу CRX через Ad Blocker через веб-сайт - http://crxextractor.com/

Крок 1) Перейдіть на сторінку http://crxextractor.com/ та натисніть кнопку «Пуск»

Крок 2) Введіть розширення chrome - URL Ad Blocker під текстовим полем. URL-адреса Adblock у веб-магазині Chrome - https://chrome.google.com/webstore/detail/adblock-%E2%80%94-best-ad-blocker/gighmmpiobklfepjocnamgkkbiglidom

і натисніть ОК

Крок 3) Після натискання кнопки ОК мітка кнопки зміниться на Get .CRX, як показано нижче. Натисніть кнопку Отримати .CRX, файл CRX, що відповідає розширенню, буде завантажено

Крок 4) Збережіть файл на локальній машині, запишіть збережений шлях. Наступним кроком є ​​передача збереженого шляху до класу Параметри Chrome

Зразок коду:

  1. Ви побачите рекламу на http://demo.guru99.com/, як показано нижче

  1. Якщо в браузері Chrome увімкнено розширення AdBlocker, рекламу слід вимкнути
пакет adblock;імпорт java.io.File;імпорт org.openqa.selenium.chrome.ChromeDriver;імпорт org.openqa.selenium.chrome.ChromeOptions;імпорт org.openqa.selenium.remote.DesiredCapabilities;публічний клас AdblockDemo {public static void main (String [] args) {System.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");Параметри ChromeOptions = нові ChromeOptions ();options.addExtensions (новий файл ("X: //extention_3_40_1_0.crx"));Можливості бажаних можливостей = нові бажані можливості ();възможности.setCapability (ChromeOptions.CAPABILITY, параметри);options.merge (можливості);Драйвер ChromeDriver = новий ChromeDriver (опції);driver.get ("http://demo.guru99.com/test/simple_context_menu.html");driver.manage (). window (). maximize ();//driver.quit ();}}

Пояснення коду:

  1. Спочатку вам потрібно встановити шлях до файлу chromedriver.exe, використовуючи метод властивості set, оскільки ви використовуєте браузер Chrome для тестування
  2. Вам потрібно встановити шлях до файлу CRX, щоб додати метод розширень
  3. Потім потрібно створити об’єкт бажаного класу можливостей і передати його екземпляру веб-драйвера. З версії Selenium 3.8.1 клас можливостей драйвера застарів, і вам потрібно об’єднати об’єкт можливостей із об’єктом Параметри Chrome, перш ніж передавати те саме як аргумент у конструктор драйверів Chrome
  4. Відкрийте URL-адресу - http://demo.guru99.com/test/simple_context_menu.html з увімкненим розширенням Ad Blocker
  5. Розгорніть і закрийте браузер

ПРИМІТКА. Ми вмикаємо розширення AdBlocker у браузері Chrome за допомогою сценарію автоматизації, замість того, щоб вручну вмикати розширення Adblocker у браузері Chrome. Файл CRX - це спосіб отримати доступ до розширення блокування реклами за допомогою сценарію автоматизації

Вихід:

Браузер Chrome буде ввімкнено з розширенням AdBlocker, як показано нижче, без реклами

Параметри Chrome для режиму анонімного перегляду

Параметри Chrome можна використовувати в режимі інкогніто, використовуючи заздалегідь визначений аргумент - інкогніто .

Нижче наведено зразок коду для того, щоб виконати те саме.

Зразок коду:

пакетний тест;імпорт java.io.File;імпорт org.openqa.selenium.chrome.ChromeDriver;імпорт org.openqa.selenium.chrome.ChromeOptions;імпорт org.openqa.selenium.remote.DesiredCapabilities;публічний клас Інкогніто {public static void main (String [] args) {// Автоматично згенерований заглушок TODOSystem.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");Параметри ChromeOptions = нові ChromeOptions ();options.addArguments ("- інкогніто");Можливості бажаних можливостей = нові бажані можливості ();възможности.setCapability (ChromeOptions.CAPABILITY, параметри);options.merge (можливості);Драйвер ChromeDriver = новий ChromeDriver (опції);driver.get ("http://demo.guru99.com/test/simple_context_menu.html");driver.manage (). window (). maximize ();//driver.quit ();}}

Пояснення коду :

  1. Спочатку вам потрібно встановити шлях до файлу chromedriver.exe, використовуючи метод властивості set, оскільки ви використовуєте браузер Chrome для тестування
  2. Потім потрібно створити об’єкт класу Параметри Chrome і передати його екземпляру веб-драйвера. Оскільки ми хочемо відкрити браузер Chrome в режимі анонімного перегляду, вам потрібно передати аргумент -incognito до класу Параметри Chrome.
  3. Далі створіть об’єкт класу бажаних можливостей та об’єднайте об’єкт класу бажаних можливостей із об’єктом класу Параметри Chrome за допомогою методу злиття
  4. Вам потрібно створити об’єкт класу драйвера Chrome і передати об’єкт Параметри Chrome як аргумент
  5. Нарешті, нам потрібно передати URL-адресу - http://demo.guru99.com/test/simple_context_menu.html до методу driver.get
  6. Розгорніть і закрийте браузер

Вихід:

Вікно браузера Chrome буде відкрито в режимі анонімного перегляду, як показано нижче

Параметри Chrome для безголового Chrome

У фоновому режимі працює браузер без голови. Ви не побачите графічного інтерфейсу браузера або операцій, що виконувались із ним.

Параметри Chrome для запуску браузера Chrome у безголовому режимі можна виконати, використовуючи заздалегідь визначені аргументи - headless .

Зразок коду для його здійснення згаданий нижче.

Приклад:

пакетний тест;імпорт java.io.File;імпорт org.openqa.selenium.chrome.ChromeDriver;імпорт org.openqa.selenium.chrome.ChromeOptions;імпорт org.openqa.selenium.remote.DesiredCapabilities;публічний клас HeadlessModeDemo {public static void main (String [] args) {// Автоматично згенерований заглушок TODOSystem.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");Параметри ChromeOptions = нові ChromeOptions ();options.addArguments ("- безголовий");Можливості бажаних можливостей = нові бажані можливості ();възможности.setCapability (ChromeOptions.CAPABILITY, параметри);options.merge (можливості);Драйвер ChromeDriver = новий ChromeDriver (опції);driver.get ("http://demo.guru99.com/");driver.manage (). window (). maximize ();Заголовок рядка = driver.getTitle ();System.out.println ("Заголовок сторінки: + заголовок);driver.quit ();}}

Пояснення коду :

  1. Спочатку вам потрібно встановити шлях до файлу chromedriver.exe, використовуючи метод властивості set, оскільки ви використовуєте браузер Chrome для тестування
  2. Далі створіть об’єкт класу Параметри Chrome і передайте його екземпляру веб-драйвера. Оскільки ми хочемо відкрити браузер Chrome у безголовому режимі, нам потрібно передати аргумент -headless до класу Параметри Chrome.
  3. Створіть об’єкт класу бажаних можливостей та об’єднайте об’єкт класу бажаних можливостей із об’єктом класу Параметри Chrome за допомогою методу злиття
  4. Створіть об’єкт класу драйвера Chrome і передайте об’єкт Параметри Chrome як аргумент
  5. Нарешті, нам потрібно передати URL-адресу - http://demo.guru99.com/ до методу driver.get
  6. Роздрукуйте заголовок сторінки та закрийте браузер

Вихідні дані

Браузер не буде видимим для вищевказаного коду, оскільки Chrome працюватиме в режимі Без голови. Заголовок сторінки буде завантажено та відображено, як показано нижче.

Короткий зміст:

  • Клас параметрів Chrome використовується для управління різними властивостями драйвера Chrome
  • Клас бажаних можливостей надає набір пар ключ-значення для модифікації окремих властивостей веб-драйвера, таких як назва браузера, платформа браузера тощо.
  • Щоб маніпулювати будь-якими розширеннями браузера Chrome, потрібно витягти файл CRX, що відповідає розширенню, і додати його до класу Параметри Chrome
  • --incognito та -headhead - це заздалегідь визначені аргументи класу Параметри Chrome для використання браузера Chrome в режимі анонімного перегляду та безголовому режимі