Selenium com proxy: configuração em Python e Java

Publicado:

2 min de leitura

PXNET
Autor: PXNET
Selenium com proxy

O Selenium controla navegadores de forma automática. É usado sobretudo para testar aplicações web, mas serve para qualquer tarefa que alguém faria à mão no navegador. Neste artigo mostramos como integrar os proxies da Proxynet.

O que é o Selenium

O Selenium oferece uma interface com a qual um programa opera o navegador: abrir janelas, carregar páginas, clicar, digitar texto, enviar formulários e ler o conteúdo da página.

Ele aceita os navegadores usuais — Chrome, Firefox, Safari, Edge — e conversa com eles pelo componente Selenium WebDriver. Dá para usá-lo a partir de Python, Java, C#, Ruby e outras linguagens.

Configuração

Passo 1: instale o Selenium. Com o Python já instalado:

bash
pip install selenium

Passo 2: obtenha um proxy. Escolha o serviço que combina com você na página inicial da Proxynet.

Passo 3: prepare o driver. A partir do Selenium 4.6, o Selenium Manager baixa sozinho o driver adequado; instalar o ChromeDriver na mão só é necessário em versões anteriores.

Passo 4: informe o proxy. Em Python:

python
from selenium import webdriver

PROXY_HOST = "pr.proxynet.io"
PROXY_PORT = 8000

options = webdriver.ChromeOptions()
options.add_argument(f"--proxy-server=http://{PROXY_HOST}:{PROXY_PORT}")

driver = webdriver.Chrome(options=options)
driver.get("https://ipinfo.io/json")
print(driver.find_element("tag name", "body").text)
driver.quit()

No lugar de PROXY_HOST e PROXY_PORT, coloque o nome de host e a porta do seu painel da Proxynet.

O mesmo em Java

java
import org.openqa.selenium.Proxy;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

public class SeleniumProxyExample {
    public static void main(String[] args) {
        String proxyHost = "pr.proxynet.io";
        int proxyPort = 8000;

        // Proxy para HTTP e HTTPS
        Proxy proxy = new Proxy();
        proxy.setHttpProxy(proxyHost + ":" + proxyPort);
        proxy.setSslProxy(proxyHost + ":" + proxyPort);

        ChromeOptions options = new ChromeOptions();
        options.setProxy(proxy);

        WebDriver driver = new ChromeDriver(options);
        driver.get("https://ipinfo.io/json");
        System.out.println(driver.getPageSource());
        driver.quit();
    }
}

Aqui vale o mesmo aviso: usuário e senha não entram no endereço do proxy. Prefira trabalhar com um IP autorizado.

Qual tipo de proxy escolher

Em automação, a origem do endereço decide a taxa de sucesso: Proxies residenciais para alvos com verificação rigorosa e Proxies de datacenter para coletas rápidas em sites pouco exigentes. Se você precisa manter uma sessão ao longo de várias etapas, use Proxies ISP para que o endereço não mude no meio do caminho.