A automação da Web é uma das melhores maneiras pelas quais as empresas podem testar um produto em desenvolvimento, especialmente as funcionalidades do aplicativo, como clicar, rolar e outras ações.
Essencialmente, a automação da Web trata de imitar a ação humana, pois é crucial garantir que o software funcione em todos os tipos de dispositivos de usuários.
Neste artigo, aprenderemos como usar o Selenium como ferramenta de automação para testar um site com Python e automatizar todo o processo sem usar mouse ou teclado no navegador. O Selenium não funciona apenas com Python, mas com muitas outras linguagens de programação.
O Selenium nos permite navegar ou usar um navegador sem envolvimento humano e automatizar processos por meio de código, como digitar uma entrada do usuário e interagir com o site. Por exemplo, é possível automatizar envios de formulários com Selenium. O Selenium faz tudo sozinho, sem um único clique de um humano.
Antes que o Selenium possa executar qualquer ação por meio do código, precisamos de pacotes e ferramentas para poder executar a automação do navegador e torná-la perfeita.
Nesta seção, instalamos o pacote Selenium e o arquivo executável do WebDriver. Primeiro, verifique a versão do navegador Chrome para que seja equivalente à mesma versão do arquivo exec do WebDriver.
O seguinte precisa ser instalado em nossa máquina local:
O navegador Chrome. Baixe aqui
Baixe a versão estável mais recente do ChromeDriver . Na página da Web do ChromeDriver, verifique se a versão do Chrome corresponde à versão do ChromeDriver
Agora, execute este comando para instalar o Selenium no seu terminal:
pip install selenium
Para começar, crie uma nova pasta contendo o arquivo e os arquivos executáveis do ChromeDriver baixados. O Selenium requer que o driver faça interface com o navegador escolhido, que neste tutorial, estamos usando o navegador Chrome.
É essencial colocar o ChromeDriver no mesmo diretório do arquivo Python.
O diretório do projeto deve ficar assim:
Outra forma de usar o ChromeDriver neste projeto é encontrar a localização do caminho do arquivo e copiá-lo, que deve ficar assim:
Usuários de MacBook:
/Users/<nome do usuário do computador>/Desktop/chromedriver
Usuários do Windows:
C:\Users\<nome de usuário do computador\Desktop\chromdriver
O WebDriver é a ponte que conecta o código Selenium para trabalhar com o navegador Chrome. O navegador Chrome fornece a ponte. Sem ela, a automação não será possível.
Em seguida, vamos copiar e colar o seguinte código no
automation.py
Arquivo: # automation.py
from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys chrome_driver_path = './chromedriver'
service = Service(chrome_drive_path) driver = webdriver.Chrome(service=service) url = "https://en.wikipedia.org/wiki/Main_Page"
driver.get(url) article_count = driver.find_element(By.CSS_SELECTOR, "#articlecount a" ) print (article_count.text) drive.close()
O seguinte ocorre no trecho de código acima, pois usaremos o Selenium para navegar na Wikipedia:
selenium.webdriver
O módulo fornece todas as implementações do WebDriver e o objeto Service é para lidar com o driver do navegador By
class é usada para localizar elementos dentro do documento de uma página da web usando suas classes CSS, ids e assim por diante webdriver.Chrome()
com o argumento de serviço .get()
método irá navegar para a página dada pelo urlNa página da Wikipedia, abra o elemento inspecionar para acessar os elementos que usaremos para obter os detalhes da página para automação.
Agora vamos à tarefa de encontrar a contagem de artigos. O WebDriver nos oferece uma maneira de fazer isso direcionando o elemento usando o método find_element e usando o
By.CSS_SELECTOR
como o primeiro parâmetro com o nome do seletor, #articlecount a.
Antes de executarmos o programa Python, o script tem o método,
driver.close()
, que fecha a janela do navegador após executar o teste.Execute o programa com o comando:
python automation.py
O resultado do terminal deve exibir a contagem de artigos, que mostra o número exato na página da web, 6.545.457 .
Pelo que fizemos até agora, é evidente que o Selenium navega em um site sem o uso ou clique de um mouse.
Agora, vamos simular uma ação em que o navegador reage a um clique em um link da página.
Atualize o
automation.py
com estas linhas de código: # automation.py # import modules contact_us = driver.find_element(By.LINK_TEXT, "Contact us" ) contact_us.click()
Com este snippet de código, estamos encontrando o elemento para o texto do link, “Fale conosco” com o
By.LINK_TEXT
. Depois de localizar os elementos, anexe o contact_us
para uma ação com .click()
método.Novamente, executamos o comando:
python automation.py
O comando acima dá o resultado da página de contato.
Existem tantos casos de uso com o Selenium. A pesquisa em uma página da Web pode ser realizada com automação, o que fornece o resultado de uma palavra de pesquisa.
Ainda assim, no mesmo arquivo, automation.py, atualize o arquivo com este código:
# automation.py search = driver.find_element(By.NAME, "search" ) search.send_keys( "React" , Keys.ENTER)
O código acima faz algo semelhante ao anterior usando o
find_element
método com o atributo de nome da entrada, search.Também o
send_keys
simule pressionando a tecla ENTER, procurando a palavra-chave React .O resultado da página deve ficar assim:
Este artigo é uma visão geral de como usar o Selenium em Python para automatizar a web, especialmente para desenvolvedores profissionais que desejam saber se há erros no código e como corrigi-los.
As possibilidades de usar Selenium com Python para automação da web são infinitas. Alguns casos de uso incluem preencher um formulário on-line, candidatar-se a empregos no LinkedIn, jogar um jogo clicker e assim por diante. Você conhece outros casos de uso para usar o Selenium?
Por favor, compartilhe seu caso de uso favorito nos comentários abaixo.