Параметры и параметры Chrome Желаемые возможности: AdBlocker, Incognito, Headless

Содержание:

Anonim

Что такое класс параметров Chrome?

Класс параметров Chrome используется для управления различными свойствами драйвера Chrome. Класс параметров Chrome обычно используется вместе с желаемыми возможностями.

Пример:

В примере ниже показан способ открытия браузера Chrome в развернутом режиме с помощью класса ChromeOptions. Нам нужно передать экземпляр класса ChromeOptions для инициализации веб-драйвера.

Параметры ChromeOptions = новый ChromeOptions ()options.addArgument ("максимальное начало");Драйвер ChromeDriver = новый ChromeDriver (параметры);

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

  • start-maximized : открывает Chrome в максимальном режиме.
  • инкогнито: открывает Chrome в режиме инкогнито.
  • headless: открывает Chrome в режиме без головы.
  • disable-extensions : отключает существующие расширения в браузере Chrome.
  • disable-popup-blocking : отключает всплывающие окна, отображаемые в браузере Chrome.
  • make-default-browser: делает браузер Chrome по умолчанию.
  • версия : печатает версию браузера Chrome.
  • disable-infobars: запрещает Chrome отображать уведомление "Chrome контролируется автоматизированным программным обеспечением.

В этом руководстве вы узнаете

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

Класс желаемых возможностей

Класс желаемых возможностей используется для изменения нескольких свойств веб-драйвера. Класс Desired Capabilities предоставляет набор пар ключ-значение для изменения индивидуальных свойств веб-драйвера, таких как имя браузера, платформа браузера и т. Д. Наиболее часто используемый метод класса Desired Capabilities - это метод setCapability. Желаемые возможности чаще всего используются с Selenium Grid, когда один и тот же тестовый пример должен выполняться в разных браузерах.

Пример:

В приведенном ниже примере показано, как разрешить браузеру Chrome принимать сертификаты SSL на веб-сайтах по умолчанию с использованием класса Desired Capabilities.

// Создаем объект желаемого класса возможностей с драйвером ChromeDesiredCapabilities SSLCertificate = DesiredCapabilities.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 с использованием класса Desired Capabilities.

Шаг 1. Перед использованием класса параметров Chrome необходимо установить расширение AdBlocker в браузере Chrome.

Шаг 2) Извлеките CRX-файл, соответствующий расширению AdBlocker, через http://crxextractor.com/

Шаг 3) Передайте загруженный путь к файлу CRX классу параметров Chrome.

Шаг 4) Создайте экземпляр веб-драйвера, используя требуемый класс возможностей и объект параметров Chrome.

Пример:

Пример ниже демонстрирует, как активировать расширение блокировщика рекламы в браузере Chrome с помощью параметров Chrome и класса желаемых возможностей.

Параметры ChromeOptions = новый ChromeOptions ();options.addExtensions (новый файл («Путь к файлу CRX»));Возможности DesiredCapabilities = новые DesiredCapabilities ();возможности.setCapability (ChromeOptions.CAPABILITY, параметры);Драйвер ChromeDriver = новый ChromeDriver (возможности);

Извлечь файл CRX:

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

Шаг 1) Перейдите на http://crxextractor.com/ и нажмите кнопку «Пуск».

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

и нажмите ОК

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

Шаг 4) Сохраните файл на локальном компьютере, запишите сохраненный путь. Следующим шагом является передача сохраненного пути классу параметров Chrome.

Образец кода:

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

  1. Если в браузере Chrome включено расширение AdBlocker, реклама должна быть отключена.
пакет 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 = новый ChromeOptions ();options.addExtensions (новый файл ("X: //extension_3_40_1_0.crx"));Возможности DesiredCapabilities = новые DesiredCapabilities ();возможности.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 property, поскольку вы используете браузер Chrome для тестирования.
  2. Вам необходимо указать путь к файлу CRX, чтобы добавить метод расширения
  3. Затем вам нужно создать объект желаемого класса возможностей и передать его экземпляру веб-драйвера. Начиная с версии Selenium 3.8.1 класс возможностей драйвера устарел, и вам необходимо объединить объект возможностей с объектом Chrome Options, прежде чем передавать то же самое в качестве аргумента конструктору драйвера Chrome.
  4. Откройте URL - http://demo.guru99.com/test/simple_context_menu.html с включенным расширением Ad Blocker.
  5. Разверните и закройте браузер

ПРИМЕЧАНИЕ. Мы включаем расширение AdBlocker в браузере Chrome с помощью сценария автоматизации вместо того, чтобы вручную включать расширение Adblocker в браузере Chrome. CRX-файл - это способ доступа к расширению блокировщика рекламы с помощью сценария автоматизации.

Выход:

Браузер Chrome будет включен с расширением AdBlocker, как показано ниже, без рекламы

Параметры Chrome для режима инкогнито

Параметры Chrome можно использовать для режима инкогнито с помощью предварительно определенного аргумента - инкогнито .

Ниже приведен пример кода для достижения того же.

Образец кода:

пакетный тест;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 Заглушка автоматически сгенерированного методаSystem.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");Параметры ChromeOptions = новый ChromeOptions ();options.addArguments ("- инкогнито");Возможности DesiredCapabilities = новые DesiredCapabilities ();возможности.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 property, поскольку вы используете браузер Chrome для тестирования.
  2. Затем вам нужно создать объект класса Chrome Options и передать его экземпляру веб-драйвера. Поскольку мы хотим открыть браузер Chrome в режиме инкогнито, вам необходимо передать аргумент -incognito в класс параметров Chrome.
  3. Затем создайте объект класса Desired Capabilities и объедините объект класса Desired Capabilities с объектом класса Chrome Options с помощью метода слияния.
  4. Вам необходимо создать объект класса Chrome Driver и передать объект Chrome Options в качестве аргумента.
  5. Наконец, нам нужно передать URL - http://demo.guru99.com/test/simple_context_menu.html в метод driver.get
  6. Разверните и закройте браузер

Выход:

Окно браузера Chrome откроется в режиме инкогнито, как показано ниже.

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

Браузер Headless работает в фоновом режиме. Вы не увидите графический интерфейс браузера или операции, выполняемые в нем.

Параметры Chrome для запуска браузера Chrome в режиме без головы могут быть выполнены с помощью предопределенных аргументов - без головы .

Ниже приведен пример кода для этого.

Пример:

пакетный тест;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 Заглушка автоматически сгенерированного методаSystem.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");Параметры ChromeOptions = новый ChromeOptions ();options.addArguments ("- без головы");Возможности DesiredCapabilities = новые DesiredCapabilities ();возможности.setCapability (ChromeOptions.CAPABILITY, параметры);options.merge (возможности);Драйвер ChromeDriver = новый ChromeDriver (параметры);driver.get ("http://demo.guru99.com/");driver.manage (). window (). maximize ();Строка title = driver.getTitle ();System.out.println ("Заголовок страницы: + заголовок);driver.quit ();}}

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

  1. Изначально вам нужно указать путь к файлу chromedriver.exe, используя метод set property, поскольку вы используете браузер Chrome для тестирования.
  2. Затем создайте объект класса параметров Chrome и передайте его экземпляру веб-драйвера. Поскольку мы хотим открыть браузер Chrome в режиме без заголовка, нам нужно передать аргумент -headless классу параметров Chrome.
  3. Создайте объект класса Desired Capabilities и объедините объект класса Desired Capabilities с объектом класса Chrome Options с помощью метода слияния.
  4. Создайте объект класса драйвера Chrome и передайте объект параметров Chrome в качестве аргумента.
  5. Наконец, нам нужно передать URL - http://demo.guru99.com/ методу driver.get
  6. Распечатайте заголовок страницы и закройте браузер

Выход

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

Резюме:

  • Класс параметров Chrome используется для управления различными свойствами драйвера Chrome.
  • Класс Desired Capabilities предоставляет набор пар ключ-значение для изменения отдельных свойств веб-драйвера, таких как имя браузера, платформа браузера и т. Д.
  • Чтобы управлять любыми расширениями браузера Chrome, необходимо извлечь файл CRX, соответствующий расширению, и добавить его в класс параметров Chrome.
  • --incognito и -headless - это предопределенные аргументы, предоставляемые классом параметров Chrome для использования браузера Chrome в режиме инкогнито и без головы.