Какво представлява класът за опции на Chrome?
Класът на опциите на Chrome се използва за манипулиране на различни свойства на драйвера на Chrome. Класът на опциите на Chrome обикновено се използва заедно с желаните възможности.
Пример:
По-долу пример показва начин за отваряне на браузъра Chrome в максимален режим с помощта на класа ChromeOptions. Трябва да предадем екземпляр от клас ChromeOptions на инициализацията на уеб драйвера.
Опции за ChromeOptions = нови ChromeOptions ()options.addArgument ("максимално стартиран");Драйвер за ChromeDriver = нов ChromeDriver (опции);
По-долу е даден списъкът с наличните и най-често използвани аргументи за класа ChromeOptions
- start-maximized : Отваря Chrome в режим за максимизиране
- инкогнито: Отваря Chrome в режим инкогнито
- без глава: Отваря Chrome в режим без глава
- disable-extensions : Деактивира съществуващите разширения в браузъра Chrome
- disable-popup-blocking : Деактивира изскачащите прозорци, показвани в браузъра Chrome
- make-default-browser: Прави браузъра по подразбиране на Chrome
- версия : Отпечатва версия на браузъра Chrome
- disable-infobars: Предотвратява Chrome да показва известието „Chrome се контролира от автоматизиран софтуер
В този урок ще научите
- Какво представлява класът за опции на Chrome?
- Клас на желаните възможности
- Опции на Chrome за разширение Adblocker
- Опции на Chrome за режим „инкогнито“
- Опции за Chrome за Chromeless без глава
Клас на желаните възможности
Класът на желаните възможности се използва за модифициране на множество свойства на уеб драйвера. Класът Желани възможности предоставя набор от двойки ключ-стойност за промяна на отделни свойства на уеб драйвера, като име на браузър, платформа на браузъра и др. Най-често използваният метод на класа Желани възможности е методът 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 Options
Стъпка 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) Въведете разширението за хром - URL адрес за блокиране на реклами под текстовото поле. URL адресът за Adblock в уеб магазина на Chrome е https://chrome.google.com/webstore/detail/adblock-%E2%80%94-best-ad-blocker/gighmmpiobklfepjocnamgkkbiglidom
и щракнете добре
Стъпка 3) При щракване върху бутона OK, етикетът на бутона ще се промени на Get .CRX, както е показано по-долу. Кликнете върху бутона Get .CRX, CRX файлът, съответстващ на разширението, ще бъде изтеглен
Стъпка 4) Запишете файла на локалната машина, запишете запазения път. Следващата стъпка е да предадете запазения път до класа на Chrome Options
Примерен код:
- Ще видите реклами на http://demo.guru99.com/, както е показано по-долу
- С активирано разширение AdBlocker в браузъра Chrome рекламите трябва да бъдат деактивирани
пакет adblock;import java.io.File;импортиране на org.openqa.selenium.chrome.ChromeDriver;импортиране на org.openqa.selenium.chrome.ChromeOptions;импортиране на org.openqa.selenium.remote.DesiredCapabilities;публичен клас AdblockDemo {публична статична 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 ();}}
Обяснение на кода:
- Първоначално трябва да зададете пътя към файла chromedriver.exe, като използвате метода set property, тъй като използвате браузъра Chrome за тестване
- Трябва да зададете пътя към CRX файл, за да добавите разширения метод
- След това трябва да създадете обект от желания клас възможности и да го предадете на екземпляр на уеб драйвер. От версията на Selenium 3.8.1 класът на възможностите на драйвера е остарял и трябва да обедините обекта на възможностите с обекта на Chrome Options, преди да предадете същото като аргумент на конструктора на Chrome Driver
- Отворете URL адреса - http://demo.guru99.com/test/simple_context_menu.html с активирано разширение Ad Blocker
- Увеличете и затворете браузъра
ЗАБЕЛЕЖКА: Активираме разширението AdBlocker в браузъра Chrome чрез скрипт за автоматизация, вместо да разрешим ръчно разширението Adblocker в браузъра Chrome. CRX файлът е начин за достъп до разширението за блокиране на реклами, използвайки скрипт за автоматизация
Изход:
Браузърът Chrome ще бъде активиран с активирано разширение AdBlocker, както е показано по-долу, без реклами
Опции на Chrome за режим „инкогнито“
Опциите на Chrome могат да се използват за режим инкогнито, като се използва предварително дефинираният аргумент - инкогнито .
По-долу е даден примерен код за постигане на същото.
Примерен код:
пакет тест;import java.io.File;импортиране на org.openqa.selenium.chrome.ChromeDriver;импортиране на org.openqa.selenium.chrome.ChromeOptions;импортиране на org.openqa.selenium.remote.DesiredCapabilities;публичен клас инкогнито {публична статична void main (String [] args) {// TODO Автоматично генериран мъниче от методSystem.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 ();}}
Обяснение на кода :
- Първоначално трябва да зададете пътя към файла chromedriver.exe, като използвате метода set property, тъй като използвате браузъра Chrome за тестване
- След това трябва да създадете обект от класа Опции на Chrome и да го предадете на екземпляр на уеб драйвер. Тъй като искаме да отворим браузъра Chrome в режим инкогнито, трябва да предадете аргумента -incognito в класа на Chrome Options.
- След това създайте обект от клас Желани възможности и обединете обекта от клас Желани възможности с обект на клас Опции на Chrome, използвайки метод за сливане
- Трябва да създадете обект от класа на Chrome Driver и да предадете обекта на Chrome Options като аргумент
- И накрая, трябва да предадем URL адреса - http://demo.guru99.com/test/simple_context_menu.html към метода driver.get
- Увеличете и затворете браузъра
Изход:
Прозорецът на браузъра Chrome ще се отвори в режим „инкогнито“, както е показано по-долу
Опции за Chrome за Chromeless без глава
Браузър без глава работи във фонов режим. Няма да видите GUI на браузъра или операциите, извършени с него.
Опциите на Chrome за стартиране на браузър Chrome в режим без глава могат да бъдат изпълнени с помощта на предварително зададените аргументи - без глава .
Примерен код за изпълнението му е споменат по-долу.
Пример:
пакет тест;import java.io.File;импортиране на org.openqa.selenium.chrome.ChromeDriver;импортиране на org.openqa.selenium.chrome.ChromeOptions;импортиране на org.openqa.selenium.remote.DesiredCapabilities;публична класа HeadlessModeDemo {публична статична void main (String [] args) {// TODO Автоматично генериран мъниче от методSystem.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 ();}}
Обяснение на кода :
- Първоначално трябва да зададете пътя към файла chromedriver.exe, като използвате метода set property, тъй като използвате браузъра Chrome за тестване
- След това създайте обект от класа Опции на Chrome и го предайте на потребителския модел на уеб. Тъй като искаме да отворим браузъра Chrome в режим без глава, трябва да предадем аргумента -headless в класа на Chrome Options.
- Създайте обект от клас Желани възможности и обединете обекта клас Желани възможности с обект клас Опции на Chrome, използвайки метод на сливане
- Създайте обект от класа на Chrome Driver и предайте обекта на Chrome Options като аргумент
- И накрая, трябва да предадем URL адреса - http://demo.guru99.com/ към метода driver.get
- Отпечатайте заглавието на страницата и затворете браузъра
Изход
Браузърът няма да се вижда за горния код, тъй като Chrome ще работи в режим без глава. Заглавието на страницата ще бъде извлечено и показано по-долу.
Резюме:
- Класът на опциите на Chrome се използва за манипулиране на различни свойства на драйвера на Chrome
- Класът Желани възможности предоставя набор от двойки ключ-стойност за промяна на отделни свойства на уеб драйвера като име на браузър, платформа на браузъра и т.н.
- За да манипулирате разширенията на браузъра Chrome, CRX файлът, съответстващ на разширението, трябва да бъде извлечен и трябва да бъде добавен към класа на опциите на Chrome
- --incognito и -headless са предварително дефинирани аргументи, предоставени от класа Опции на Chrome за използване на браузър Chrome в режим инкогнито и режим без глава