Cum să gestionați autentificarea proxy în Selenium Webdriver
⚡ Rezumat inteligent
Autentificare proxy în Selenium WebDriver gestionează fereastra pop-up cu acreditări care apare atunci când un browser se conectează printr-un server proxy securizat. Deoarece Selenium nu poate opera direct dialogurile native, există două abordări care utilizează instrumentul AutoIt și alertele încorporate.

Ce este un proxy?
Un proxy acționează ca un intermediar între clienții care trimit cereri și serverul care răspunde. Utilizarea principală a unui proxy este menținerea confidențialității și încapsulării între mai multe sisteme interactive.
Un proxy poate adăuga, de asemenea, un alt nivel de securitate pe web, acționând ca un firewall între client și serverele web. Acest lucru este utilizat în special atunci când site-urile web pe care le folosesc clienții trebuie să fie etichetate ca permise sau blocate pe baza conținutului site-ului.
Acest proces este cunoscut sub numele de „Filtrare de conținut” și este cel mai frecvent utilizat în instituții de învățământ, birouri corporative etc. Filtrarea conținutului poate fi realizată cu ușurință cu ajutorul unui proxy. În ceea ce privește internetul, un proxy poate fi implementat ca un server separat, care se află între mașinile client și serverele web sau baze de date reale care răspund.
Diferența dintre SOCKS și HTTP Proxy
| SOCKS | Http proxy |
|---|---|
| SOCKS înseamnă prize securizate. Este folosit în general ca firewall între client și server | HTTP Proxy poate fi folosit și ca firewall între Client și server, dar poate fi folosit numai pentru solicitări HTTP |
| SOCKS nu interpretează datele care sunt schimbate | HTTP Proxy interpretează datele schimbate între client și server |
| Mai lent din punct de vedere al performanței | Performanță mai bună în comparație cu SOCKS |
Cum să gestionați proxy în Selenium Webdriver în Chrome
Autentificare proxy HTTP cu Selenium în Chrome poate fi gestionat folosind următoarele abordări
- Utilizarea instrumentului AutoIt
- Utilizarea alertelor
Utilizarea instrumentului AutoIt
AutoIt este un instrument terț utilizat pentru automatizarea desktopului Windows. Deoarece Selenium gestionează numai ferestrele pop-up și ferestre bazate pe web, gestionarea controalelor sistemului de operare nu este posibilă Selenium.
Acest lucru necesită utilizarea unor instrumente externe de la terți, cum ar fi AutoIt, pentru a fi integrate cu SeleniumPentru aceasta, AutoIt este cel mai frecvent utilizat pentru gestionarea încărcărilor și descărcărilor de fișiere pe site-uri web.
Pentru a utiliza AutoIt, trebuie să descărcați și să instalați software-ul AutoIt pe computerele noastre locale.
Descărcarea unei instalări AutoIt este acoperită în articol.
Deschideți Programe – Instrument Autoit – Editor de scripturi SciTE și adăugați scriptul AutoIt menționat mai jos în editorul Autoit și salvați-l ca „ProxyAuthentication.au3” în sistemul dvs.
Compilați fișierul și convertiți-l ca „ProxyAuthentication.exe”.
In Eclipse, adăugați fișierul AutoIt la Selenium Scrieți și rulați
Mai jos este scriptul AutoIt pentru autentificarea prin proxy HTTP
Send("guru99{ENTER}") Send("guru99{ENTER}")
Trebuie să transmiteți fișierul AutoIt pentru execuție pe Selenium webdriver folosind codul de mai jos
Sursa 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 Explicaţie:
- În primul pas, inițializați o instanță a driverului Chrome setând proprietatea sistemului pentru a indica fișierul chromedriver.exe
- În al doilea pas, inițializați un obiect al driverului web și transmiteți site-ului web URL folosind metoda get
- În cele din urmă, transmiteți numele de utilizator și parola către fereastra pop-up de autentificare HTTP Proxy folosind un fișier script AutoIt.
Code ieșire:

Utilizarea alertelor
Alertele sunt o caracteristică simplă, încorporată oferită de Selenium driver web. Puteți gestiona ferestrele pop-up de autentificare proxy folosind Selenium driver web prin trecerea la alerta de autentificare proxy HTTP și prin transmiterea numelui de utilizator și a parolei direct în alertă. Cu ajutorul metodei trimite chei.
Exemplu:
Scenariul de testare:
Gestionați fereastra pop-up de autentificare HTTP Proxy de pe site: https://demo.guru99.com/test/basic_auth.php folosind Alerte în Selenium driver web.
Cod sursă Exemplu:
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 producție
Autentificare proxy realizată cu succes.
Code Explicaţie:
- Inițial, instanțiați o instanță a driverului Chrome setând proprietatea webdriver pentru a indica locația fișierului chromedriver.exe
- Apoi, deschizi URL a site-ului web necesar prin trecerea URL ca parametru al metodei driver.get()
- Odată URL se deschide. Treceți la alerta privind numele de utilizator și trimiteți numele de utilizator – guru99. Apoi faceți clic pe butonul OK din alertă folosind metoda alert.accept.
- Apoi, treceți la alerta de parolă și trimiteți parola – guru99. Apoi faceți clic pe butonul OK din alertă folosind metoda alert.accept
