Como lidar com a autenticação de proxy em Selenium Driver da Web
⚡ Resumo Inteligente
Autenticação de proxy em Selenium O WebDriver lida com a janela pop-up de credenciais que aparece quando um navegador se conecta por meio de um servidor proxy seguro. Porque Selenium Não é possível operar diálogos nativos diretamente; duas abordagens utilizam a ferramenta AutoIt e alertas integrados.
O que é um proxy?
Um proxy atua como intermediário entre os clientes que enviam solicitações e a resposta do servidor. O principal uso de um proxy é manter a privacidade e o encapsulamento entre vários sistemas interativos.
Um proxy também pode adicionar outra camada de segurança na web, agindo como um firewall entre o cliente e os servidores web. Isso é especialmente usado quando os sites que os clientes usam precisam ser rotulados como permitidos ou bloqueados com base no conteúdo do site.
Este processo é conhecido como 'Filtragem de Conteúdo' e é mais comumente usado em Instituições Educacionais, Escritórios Corporativos, etc. A Filtragem de Conteúdo pode ser facilmente realizada com a ajuda de um proxy. Em termos de Internet, um proxy pode ser implementado como um servidor separado que fica entre as máquinas clientes e os servidores reais da web ou de banco de dados que respondem.
Diferença entre SOCKS e proxy HTTP
| MEIAS | Proxy HTTP |
|---|---|
| SOCKS significa soquetes seguros. Geralmente é usado como um firewall entre o cliente e o servidor | O proxy HTTP também pode ser usado como firewall entre o cliente e o servidor, mas pode ser usado apenas para solicitações HTTP |
| SOCKS não interpreta os dados trocados | O proxy HTTP interpreta os dados trocados entre o cliente e o servidor |
| Mais lento em termos de desempenho | Melhor desempenho em comparação com SOCKS |
Como lidar com proxy em Selenium Webdriver no Chrome
Autenticação de proxy HTTP com Selenium no Chrome pode ser tratado usando as seguintes abordagens
- Usando a ferramenta AutoIt
- Usando Alertas
Usando a ferramenta AutoIt
O AutoIt é uma ferramenta de terceiros usada para automação de desktops Windows. Selenium manipula apenas pop-ups e janelas baseados na web, não é possível manipular os controles do sistema operacional usando Selenium.
Isso requer a integração de ferramentas externas de terceiros, como o AutoIt. SeleniumPara isso, o AutoIt é mais comumente usado para lidar com uploads e downloads de arquivos em sites.
Para usar o AutoIt, você precisa baixar e instalar o software AutoIt em suas máquinas locais.
O download e a instalação do AutoIt são abordados no guia. neste artigo.
Abra Programas - ferramenta Autoit - SciTE Script Editor e adicione o script AutoIt mencionado abaixo no editor Autoit e salve-o como 'ProxyAuthentication.au3' em seu sistema
Compile o arquivo e converta-o como 'ProxyAuthentication.exe'.
In Eclipse, adicione o arquivo AutoIt ao Selenium Script e execução
Abaixo está o script AutoIt para autenticação de proxy HTTP.
Send("guru99{ENTER}") Send("guru99{ENTER}")
Você precisa passar o arquivo AutoIt para execução em Selenium webdriver usando o código abaixo
fonte 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ção:
- Na primeira etapa, você está inicializando uma instância do driver do Chrome definindo a propriedade do sistema para apontar o arquivo chromedriver.exe
- Na segunda etapa, você inicializa um objeto do driver da web e passa o site como parâmetro. URL usando o método get
- Por fim, você está passando o nome de usuário e a senha para a janela pop-up de autenticação do proxy HTTP usando um arquivo de script AutoIt.
Code Saída:

Usando Alertas
Alertas são recursos simples e integrados fornecidos por Selenium motorista web. Você pode lidar com pop-ups de autenticação de proxy usando Selenium web, alternando para o alerta de autenticação de proxy HTTP e passando o nome de usuário e a senha diretamente para o alerta. Com a ajuda do método de envio de chaves.
Exemplo:
Cenário de teste:
Lide com o pop-up de autenticação do proxy HTTP no site: https://demo.guru99.com/test/basic_auth.php usando alertas em Selenium motorista web.
Exemplo de código fonte:
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 saída
Autenticação de proxy realizada com sucesso.
Code Explicação:
- Inicialmente, você está instanciando uma instância do driver Chrome definindo a propriedade webdriver para apontar a localização do arquivo chromedriver.exe
- Então, você está abrindo o URL do site necessário, passando o URL como um parâmetro para o método driver.get()
- Uma vez URL A janela de alerta é aberta. Você alterna para o alerta de nome de usuário e envia o nome de usuário – guru99. Em seguida, você clica no botão OK do alerta usando o método alert.accept.
- Então, você muda para o alerta de senha e envia a senha – guru99. Você está então clicando no botão OK no alerta usando o método alert.accept

