Как да се справим с удостоверяването на прокси в Selenium Уебдрайвер
⚡ Умно обобщение
Прокси удостоверяване в Selenium WebDriver обработва изскачащия прозорец за идентификационни данни, който се появява, когато браузърът се свърже чрез защитен прокси сървър. Защото Selenium не може да управлява директно оригиналните диалози, два подхода използват инструмента AutoIt и вградените предупреждения.

Какво е прокси?
Проксито действа като посредник между клиентите, изпращащи заявки, и сървъра, който отговаря. Основната употреба на прокси е да поддържа поверителност и капсулиране между множество интерактивни системи.
Проксито може също така да добави още едно ниво на сигурност в мрежата, като действа като защитна стена между клиента и уеб сървърите. Това се използва особено, когато уебсайтовете, които клиентите използват, трябва да бъдат етикетирани като разрешени или блокирани въз основа на съдържанието на уебсайта.
Този процес е известен като „Филтриране на съдържание“ и се използва най-често в образователни институции, корпоративни офиси и т.н. Филтрирането на съдържание може лесно да се осъществи с помощта на прокси. От гледна точка на Интернет, проксито може да бъде внедрено като отделен сървър, който стои между клиентските машини и действителните отговарящи уеб сървъри или сървъри на бази данни.
Разлика между SOCKS и HTTP прокси
| ЧОРАПИ | Протокол HTTP |
|---|---|
| SOCKS означава защитени контакти. Обикновено се използва като защитна стена между клиента и сървъра | HTTP прокси може да се използва и като защитна стена между клиента и сървъра, но може да се използва само за HTTP заявки |
| SOCKS не интерпретира данните, които се обменят | HTTP прокси интерпретира данните, които се обменят между клиента и сървъра |
| По-бавно по отношение на производителността | По-добра производителност в сравнение с SOCKS |
Как да управлявате прокси в Selenium Уеб драйвер в Chrome
HTTP прокси удостоверяване с Selenium в Chrome може да се управлява чрез следните подходи
- Използване на инструмента AutoIt
- Използване на предупреждения
Използване на инструмента AutoIt
AutoIt е инструмент на трета страна, който се използва за автоматизация на работния плот на Windows. Тъй като Selenium обработва само уеб-базирани изскачащи прозорци и прозорци, боравене с контроли на операционната система не е възможно при използване Selenium.
Това изисква използването на външни инструменти на трети страни, като например AutoIt, за да бъдат интегрирани с SeleniumПоради тази причина AutoIt се използва най-често за обработка на качване и изтегляне на файлове от уебсайтове.
За да използвате AutoIt, трябва да изтеглите и инсталирате софтуера AutoIt на нашите локални машини.
Изтеглянето на инсталация на AutoIt е обхванато в статията.
Отворете Програми – Инструмент Autoit – SciTE Script Editor и добавете споменатия по-долу скрипт AutoIt в редактора Autoit и го запазете като „ProxyAuthentication.au3“ във вашата система
Компилирайте файла и го конвертирайте като „ProxyAuthentication.exe“.
In Eclipse, добавете файла AutoIt към Selenium Направете скрипт и стартирайте
По-долу е показан скриптът AutoIt за HTTP прокси удостоверяване
Send("guru99{ENTER}") Send("guru99{ENTER}")
Трябва да предадете AutoIt файла за изпълнение на Selenium webdriver, използвайки кода по-долу
източник Code:
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"); } }
Code Обяснение:
- В първата стъпка инициализирате екземпляр на драйвера на Chrome, като зададете системното свойство да насочва към файла chromedriver.exe
- Във втората стъпка инициализирате обект на уеб драйвер и предавате уебсайта URL използвайки метода get
- Накрая, Вие предавате потребителско име и парола към изскачащ прозорец за удостоверяване на HTTP прокси, използвайки AutoIt скрипт файл.
Code Изход:

Използване на предупреждения
Сигналите са проста, вградена функция, предоставена от 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(); } }
Code Продукция
Прокси удостоверяването е извършено успешно.
Code Обяснение:
- Първоначално създавате екземпляр на драйвер на Chrome, като зададете свойството webdriver да посочи местоположението на файла chromedriver.exe
- След това, вие отваряте URL на необходимия уебсайт чрез преминаване на URL като параметър на метода driver.get()
- Веднъж URL се отвори, превключвате към предупреждението за потребителско име и изпращате потребителското име – guru99. След това щракнете върху бутона OK в предупреждението, използвайки метода alert.accept
- След това превключвате към предупреждението за парола и изпращате паролата – guru99. След това щракнете върху бутона OK в предупреждението, като използвате метода alert.accept
