In this Article
O Selenium por si só funciona muito bem para automação web, mas combiná-lo com um proxy ajuda a preservar sua privacidade, manter uma conexão estável e acessar conteúdo sem interrupções. Em termos simples, é uma ferramenta de código aberto desenvolvida por Jason Huggins para automatizar ou testar aplicações web. Ela inclui módulos como Selenium IDE, Grid, Standalone Server e WebDriver.
Neste guia, vamos passar pelas principais etapas para configurar Selenium com um proxy em Python para tarefas de web scraping.
Começando
Em primeiro lugar, certifique-se de ter Python e pip (Python Package Manager) instalados. Caso contrário, baixe Python do site oficial, abra o .pkg arquivo que você baixou e siga as instruções. Vejamos as etapas básicas:
1. Abra o Terminal ou o Command Prompt. Se estiver no Mac, clique no ícone do Launchpad no Dock, digite Terminal no campo de busca e clique em Terminal. Se estiver no Windows, digite cmd na janela Run. Esse atalho abrirá o Command Prompt ou o PowerShell.
2. No terminal, digite:
python --version
Se a sua versão for Python 3, basta adicionar 3 depois de python. Isso também pode valer para outros comandos:
python3 --version
pip geralmente é instalado automaticamente com Python 3.4+. Ainda assim, é melhor verificar se pip está instalado digitando:
pip --version
pip3 --version
3. Usar pip para instale o pacote Selenium:
pip install selenium
Se você estiver usando Python 3, tente usar pip3 para garantir que esteja instalado para Python 3:
pip3 install selenium
4. Verifique se a instalação foi concluída.
Após a instalação, você pode verificar se o Selenium está instalado executando:
pip show selenium
Usando WebDriver com Selenium
Selenium precisa de um driver web para interagir com navegadores como Chrome, Firefox e outros. Você terá que baixar o driver apropriado e garantir que ele esteja disponível no PATH do seu sistema. Vamos trabalhar com Chrome, o navegador mais usado na maioria dos projetos de automação.
1. Vá para a página oficial de downloads do ChromeDriver:
https://developer.chrome.com/docs/chromedriver/downloads
2. Encontre o link que corresponde à sua versão do Chrome e baixe o ChromeDriver para macOS.
O arquivo que você baixar estará em um zip formatar. Basta clicar duas vezes para extraí-lo e você obterá o ChromeDriver executável.
Para facilitar o acesso, mova o ChromeDriver para um diretório incluído no PATH do sistema. Diretórios comuns incluem /usr/local/bin ou /usr/bin. Use este comando:
sudo mv ~/Downloads/chromedriver /usr/local/bin/
***Se você vir o erro “Esse arquivo ou diretório não existe”, geralmente significa que o caminho do arquivo em seu comando está incorreto ou que o arquivo não existe no local especificado. Verifique novamente se você está no diretório onde o ChromeDriver arquivo está localizado e que o nome do arquivo não contém extensões ou erros de digitação.
Quando você usa o mv comando com sudo para mover arquivos para diretórios como /usr/local/bin, o macOS solicitará que você insira sua senha. Esta é a senha da sua conta de usuário. Digite-o e pressione Enter. Lembre-se de que sua senha não aparecerá na tela enquanto você digita (nenhum caracter ou símbolo aparecerá).
Para verificar se ChromeDriver está instalado corretamente, digite o seguinte comando no terminal:
chromedriver --version/
Criando um script Python básico
Em seguida, baixe qualquer editor de texto (VS Code no nosso caso) ou use o IDE para criar um novo arquivo chamado selênio_test.py.
Para criar um script Python básico, precisamos instalar o gerenciador de webdriver módulo.
- Podemos instalar o pacote usando pip. Execute o seguinte comando no terminal:
pip install webdriver-manager/
pip install selenium webdriver-manager/
Depois de executar o comando acima, seu script deverá funcionar conforme o esperado:
# pip install selenium webdriver-manager
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
# set Chrome options to run in headless mode
options = Options()
options.add_argument("--headless=new")
# initialize Chrome driver
driver = webdriver.Chrome(
service=Service(ChromeDriverManager().install()),
options=options
)
# navigate to the target webpage
driver.get("https://httpbin.io/ip")
# print the HTML of the target webpage
print(driver.page_source)
# release the resources and close the browser
driver.quit()/
Você verá este resultado:
Configurando um proxy gratuito em Selenium
Nesta parte, você descobrirá como configurar um proxy Selenium usando Python e tentar procuradores gratuitos. Visite este site https://free-proxy-list.net/ e escolha um proxy gratuito para seu teste. No script, você terá que definir o endereço e a porta do proxy. Por exemplo, vamos escolher este proxy gratuito:
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
# define the proxy address and port
proxy = "194.5.25.34:443"
# set Chrome options to run in headless mode using a proxy
options = Options()
options.add_argument("--headless=new")
options.add_argument(f"--proxy-server={proxy}")
# initialize Chrome driver
driver = webdriver.Chrome(
service=Service(ChromeDriverManager().install()),
options=options
)
# navigate to the target webpage
driver.get("https://httpbin.io/ip")
# print the body content of the target webpage
print(driver.find_element(By.TAG_NAME, "body").text)
# release the resources and close the browser
driver.quit()/
No terminal, você receberá a seguinte resposta:
{
“origem”: “194.5.25.34:443”
}
Isso significa que Selenium está navegando para páginas usando o servidor proxy. No entanto, tenha cuidado, pois os proxies gratuitos podem ser lentos e vender seus dados.
Selenium Wire
Selenium Wire é uma extensão poderosa do Selenium que permite interceptar e analisar o tráfego de rede. Ao revisar as solicitações e respostas HTTP, você pode entender melhor como um aplicativo da web interage com seu servidor. O driver Chrome não processa o nome de usuário e a senha automaticamente, e é por isso que você precisa de um plug-in de terceiros como o Selenium Wire.
Para instalar o Selenium Wire, execute este comando em seu terminal:
pip install blinker==1.7.0 selenium-wire/
pip3 install blinker==1.7.0 selenium-wire/
Proxies DataImpulse em Selenium
É hora de finalmente usar os proxies DataImpulse. Com tudo instalado, estamos prontos para continuar com a autenticação proxy. Para esta etapa, você precisará de seu login, senha, endereço e porta salvos na seção do plano escolhido no painel do DataImpulse. Vamos usar um proxy residencial.
Vamos ao script:
from seleniumwire import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
# configure the proxy
proxy_username = ""
proxy_password = ""
proxy_address = "gw.dataimpulse.com"
proxy_port = "823"
# formulate the proxy url with authentication
proxy_url = f"http://{proxy_username}:{proxy_password}@{proxy_address}:{proxy_port}"
# set selenium-wire options to use the proxy
seleniumwire_options = {
"proxy": {
"http": proxy_url,
"https": proxy_url
},
}
# set Chrome options to run in headless mode
options = Options()
options.add_argument("--headless=new")
# initialize the Chrome driver with service, selenium-wire options, and chrome options
driver = webdriver.Chrome(
service=Service(ChromeDriverManager().install()),
seleniumwire_options=seleniumwire_options,
options=options
)
# navigate to the target webpage
driver.get("https://httpbin.io/ip")
# print the body content of the target webpage
print(driver.find_element(By.TAG_NAME, "body").text)
# release the resources and close the browser
driver.quit()/
Em VS Code, ficará assim:
Como resultado, você receberá uma resposta com sua “origem”. Isso significa que a autenticação foi concluída com sucesso.
Dicas
- Visite apenas sites oficiais – Baixe todos os programas necessários de sites oficiais seguros.
- Verifique a compatibilidade – Verifique novamente se as versões do Selenium, ChromeDriver e do seu navegador são compatíveis entre si.
- Atualize regularmente – Verifique regularmente Selenium, ChromeDriver e outras ferramentas para usar os recursos mais recentes.
- Gerencie com segurança as informações de login – Proteja e gerencie seus detalhes de autenticação de forma segura.
- Utilize ambientes virtuais – Crie um ambiente virtual para manter suas dependências organizadas e evitar conflitos de pacotes.
- Tratamento de erros – Adicione mecanismos de tratamento de erros em seus scripts para lidar com possíveis problemas ao usar proxies ou trabalhar com elementos da web.
Conclusão
Se você está pensando em configurar o Selenium, vale a pena testar. Usar um proxy com Selenium é como adicionar uma marcha extra ao motor: dá mais potência e controle. Siga estas instruções e dicas para incorporar todos os pacotes corretamente na primeira tentativa. Lembre-se de que é melhor escolher proxies confiáveis em vez de proxies gratuitos para ter mais velocidade, segurança e estabilidade.









