Selenium in python 1

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. 

Share article: