Як керувати автентифікацією проксі в Selenium Веб-драйвер
Що таке проксі?
Проксі діє як посередник між клієнтами, які надсилають запити, і сервером, що відповідає. Основне використання проксі полягає в підтримці конфіденційності та інкапсуляції між кількома інтерактивними системами.
Проксі також може додати ще один рівень безпеки в Інтернеті, діючи як брандмауер між клієнтом і веб-серверами. Це особливо використовується, коли веб-сайти, якими користуються клієнти, потрібно позначити як дозволені або заблоковані на основі вмісту веб-сайту.
Цей процес відомий як «фільтрування вмісту» і найчастіше використовується в навчальних закладах, корпоративних офісах тощо. Фільтрування вмісту можна легко здійснити за допомогою проксі-сервера. З точки зору Інтернету, проксі-сервер може бути реалізований як окремий сервер, який стоїть між клієнтськими машинами та реальними веб-серверами або серверами баз даних, які відповідають.
Різниця між SOCKS і HTTP Proxy
SOCKS | HTTP проксі |
---|---|
SOCKS означає захищені розетки. Зазвичай він використовується як брандмауер між клієнтом і сервером | HTTP-проксі також можна використовувати як брандмауер між клієнтом і сервером, але його можна використовувати лише для HTTP-запитів |
SOCKS не інтерпретує дані, якими обмінюються | HTTP-проксі інтерпретує дані, якими обмінюються клієнт і сервер |
Повільніше з точки зору продуктивності | Краща продуктивність порівняно з SOCKS |
Як керувати проксі в Selenium Веб-драйвер в Chrome
HTTP-проксі-автентифікація за допомогою Selenium у Chrome можна обробляти за допомогою наведених нижче підходів
- Використання інструменту AutoIT
- Використання сповіщень
Використання інструменту AutoIT
Auto IT — сторонній інструмент, який використовується для автоматизації робочого столу Windows. Оскільки Selenium обробляє лише веб-спливні вікна та вікна, керування елементами керування операційної системи неможливо за допомогою Selenium.
Для цього потрібне використання зовнішніх сторонніх інструментів, таких як Auto IT для інтеграції Selenium. Для цього Auto IT найчастіше використовується для обробки завантаження та завантаження файлів на веб-сайтах.
Щоб використовувати AutoIT, вам потрібно завантажити та встановити програмне забезпечення AutoIT на наших локальних машинах.
Завантаження інсталяції AutoIT описано в стаття.
Відкрийте Програми – інструмент Autoit – Редактор сценаріїв SciTE та додайте згаданий нижче сценарій AutoIt у редактор Autoit і збережіть його як «ProxyAuthentication.au3» у вашій системі
Скомпілюйте файл і перетворіть його як «ProxyAuthentication.exe».
In Eclipse, додайте файл Auto IT Selenium Сценарій і запуск
Нижче наведено сценарій AutoIT для автентифікації HTTP-проксі
Send("guru99{ENTER}") Send("guru99{ENTER}")
Вам потрібно передати файл Auto IT для виконання Selenium webdriver за допомогою наведеного нижче коду
Вихідний код:
package Guru99Demo; import java.io.IOException; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class AutoITDemo { public static void main(String[] args) throws IOException { System.setProperty("webdriver.chrome.driver", "D:\\ chromedriver.exe");; WebDriver driver = new ChromeDriver(); driver.get("https://demo.guru99.com/test/basic_auth.php"); //Passing the AutoIt Script to Selenium Runtime.getRuntime().exec("D:\\Data_Personal\\ProxyAuthentication.exe"); } }
Пояснення коду:
- На першому кроці ви ініціалізуєте екземпляр драйвера Chrome, встановлюючи системну властивість на файл chromedriver.exe
- На другому кроці ви ініціалізуєте об’єкт веб-драйвера та передаєте URL-адресу веб-сайту за допомогою методу get
- Нарешті, ви передаєте ім’я користувача та пароль у спливаюче вікно автентифікації HTTP-проксі за допомогою файлу сценарію AutoIT
Вихід коду:



Використання сповіщень
Сповіщення – це проста, вбудована функція, яку надає Selenium веб-драйвер. Ви можете обробляти спливаючі вікна автентифікації проксі за допомогою Selenium веб-драйвер, перемкнувшись на сповіщення автентифікації проксі-сервера HTTP та передавши ім’я користувача та пароль безпосередньо до сповіщення. За допомогою методу надсилання ключів.
Приклад:
Тестовий сценарій:
Керуйте спливаючим вікном автентифікації HTTP-проксі на веб-сайті: https://demo.guru99.com/test/basic_auth.php за допомогою сповіщень у Selenium веб-драйвер.
Приклад вихідного коду:
package Guru99Demo; import java.io.IOException; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class AlertsDemo { public static void main(String args[]) throws IOException { System.setProperty("webdriver.chrome.driver", "D:\\Data_Personal\\Software\\chromedriver_win32\\chromedriver.exe");; WebDriver driver = new ChromeDriver(); driver.get("https://demo.guru99.com/test/basic_auth.php"); // Handling Username alert driver.switchTo().alert().sendKeys("guru99"); driver.switchTo().alert().accept(); // Handling Password alert driver.switchTo().alert().sendKeys("guru99"); driver.switchTo().alert().accept(); } }
Виведення коду
Автентифікацію проксі-сервера виконано успішно.
Пояснення коду:
- Спочатку ви створюєте екземпляр драйвера Chrome, налаштувавши властивість webdriver на розташування файлу chromedriver.exe
- Потім ви відкриваєте URL-адресу потрібного веб-сайту, передаючи URL-адресу як параметр методу driver.get().
- Після відкриття URL-адреси ви переходите на сповіщення про ім’я користувача та надсилаєте ім’я користувача – guru99. Потім ви натискаєте кнопку OK у сповіщенні за допомогою методу alert.accept
- Потім ви переходите на оповіщення про пароль і надсилаєте пароль – guru99. Потім ви натискаєте кнопку OK у сповіщенні за допомогою методу alert.accept
Підсумки
- Проксі діє як посередник між клієнтами, які надсилають запити, і сервером, що відповідає. Основне використання проксі-сервера полягає в підтримці конфіденційності та герметизація між кількома інтерактивними системами.
- HTTP-проксі-автентифікація за допомогою Selenium у Chrome можна обробляти за допомогою наведених нижче підходів
- Передача імені користувача та пароля в URL-адресі веб-сайту
- Використання інструменту AutoIT
- Використання сповіщень
- З трьох наведених вище підходів використання сповіщень є найефективнішим способом обробки автентифікації HTTP-проксі Selenium веб-драйвер