O selenium é uma poderosa aplicação para automação web e permite uma série de explorações nesse universo. Entender Selenium Python é crucial para saber como avançar no universo do desenvolvimento para web e conseguir, inclusive, boas vagas no ramo.
Nesse sentido, se faz importante compreender os componentes do selenium, suas limitações e vantagens, bem como os principais métodos que serão usados.
Saiba mais com o conteúdo a seguir. Falaremos sobre o Selenium Python e mostraremos um tutorial simples de como conseguir a sua primeira automação na web com essa biblioteca.
O Selenium Python é uma biblioteca com diversos métodos que ajudam na automação web. Em suma, as funções permitem controlar o funcionamento de uma página e a interação com ela de forma automática.
Por isso, é extremamente útil para programadores web.
O Selenium webdriver é um dos elementos do conjunto selenium que agrega todos os métodos importantes que ainda vamos ver mais adiante.
É interessante também definir o que vem a ser um webdriver.
Um webdriver é justamente um app especial que controla o navegador. Existem drivers específicos para cada navegador hoje, com as características necessárias para lidar com cada um.
Dentro do universo do Selenium Python, temos alguns subconceitos relevantes. São eles: Selenium IDE, Selenium RC (Remote control), Selenium WebDriver e Selenium GRID. Vamos a um rápido overview de cada um.
A IDE é o espaço para testes e para execução dos códigos. Permite editar, debugar códigos e criar combinações para testagens inteligentes. Na prática, é uma extensão para o navegador.
Por sua vez, o Selenium Remote Control é um servidor que controla o browser de forma remota. Permite então fazer os testes automatizados.
O Webdriver é a aplicação que controla os navegadores de forma automatizada. Inclusive utiliza aplicações nativas para diminuir problemas e interferências com as linguagens e tecnologias usadas nos sites.
Por fim, temos o Grid, que é um servidor de testes automatizados em máquinas remotas. Gerencia várias máquinas de forma centralizada.
Vamos comentar agora os pontos positivos e as limitações do Selenium Python para ilustrar a importância dessa ferramenta.
Primeiro, vale mencionar que é uma solução de código aberto e portável — o que facilita as melhorias e torna o produto algo aberto para otimização de todos na comunidade.
Outro ponto é que o Selenium Python é muito útil para desenvolvedores web que precisam fazer testes em seus sites. Com ele, se testa em menos tempo, com maior precisão, de modo a garantir melhorias consideráveis nos resultados.
Uma limitação que vale notar é a falta de suporte a apps desktop.
Outra limitação é que não há também testes para imagens. E uma necessidade grande é a implementação de relatórios sobre as atividades e testes.
No Selenium Python temos vários métodos interessantes que podem ser adotados a depender da necessidade.
Para clicar em um elemento, o programador pode adotar o click. Um jeito fácil de achar qualquer clicável na página é find_elements_by_xpath(). O método delete_all_cookies apaga os cookies.
Há alguns mais simples também, como o maximize_window e o minimize_window, que maximizam e minimizam janelas, respectivamente.
Veremos a seguir uma lista com vários desses métodos e suas finalidades.
Tabela resumo dos principais métodos
Método | Finalidade |
back | volta no histórico para a página anterior |
close | fecha a página atual |
execute_script | executa JavaScript na janela |
forward | vai adiante no histórico, para a próxima página |
get_window_size | pega o tamanho da janela atual |
refresh | atualiza a página |
get_screenshot_as_file | salvar um print da tela |
Para receber os arquivos que usamos na aula no seu e-mail, preencha:
Antes de começar o código é necessário que você tenha uma IDE para poder escrever seus códigos em Python. Neste caso, vamos utilizar o Jupyter que é um tipo de IDE para poder rodar o Python, mas pode utilizar qualquer outro de sua preferência!
Como instalar o Selenium Python? Essa é uma pergunta que já deve estar fazendo. Outra pergunta: o que seria esse Selenium?
Bem, vamos lá. O Selenium, nada mais é, do que uma biblioteca que permite com que o Python abra o seu navegador para executar os comandos desejados.
Para instalar o Selenium, basta abrir o Anaconda Prompt (que é o utilizado no Jupyter). Com o Prompt aberto basta escrever pip install selenium.
Pronto! Viu como foi fácil? Com essa linha de código já temos essa biblioteca instalada e não vamos precisar repetir esse procedimento.
Agora para que seja possível fazer essa interação do Python com o navegador, o Selenium Python precisa de um webdriver.
Então, vamos te mostrar como baixar o webdriver, que nada mais é do que um arquivo que permite essa interação do Python com o navegador. No entanto, navegadores diferentes vão precisar de webdrivers diferentes.
Isso quer dizer que dependendo do navegador que estiver utilizando ou queira utilizar terá que baixar um webdriver diferente.
Neste caso, vamos dar exemplos dos dois mais utilizados: Chromedriver para Google Chrome e Geckodriver para Firefox.
Caso você utilize outro navegador, é o mesmo procedimento, pode ir ao Google e buscar por webdriver + o nome do seu navegador.
OBS: Ao fazer o download do webdriver é MUITO IMPORTANTE verificar se está fazendo o download da versão correta para o seu sistema operacional, tanto para a versão dele quanto para a versão do navegador se tiver alguma.
Depois de baixar o arquivo nós vamos extrair o arquivo que está dentro da pasta zipada, para a pasta onde está instalado o Python.
Nós vamos colar/extrair o arquivo exatamente na pasta do Python, nesse caso é a pasta do Anaconda, que é onde temos o executável do Python o Python.exe.
Agora que fizemos esses passos estamos aptos a iniciar o nosso código de automação. Para isso, vamos seguir 3 passos para dar início a nossa automação “básica”.
Nesse caso, vamos obter um Demonstrativo de Resultados da Magazine Luiza. Então vamos acessar o site, clicar em Planilha Dinâmica e depois vamos clicar para fazer o download desse arquivo.
Vamos iniciar com a importação da biblioteca do Selenium, mas como não vamos utilizar a biblioteca inteira, vamos importar somente o que vamos utilizar que é o Webdriver.
Esse é o código que vamos utilizar e já vamos comentar cada passo que fizemos, de acordo com os 3 passos que informamos anteriormente.
A primeira linha foi apenas para importar a biblioteca de webdriver.
A segunda linha estamos atribuindo o webdriver + o navegador utilizado (vai depender do que está utilizando) a uma variável qualquer, que neste caso chamamos de navegador.
Na terceira e quarta linha temos uma função para encontrar um elemento na página pelo seu xpath, ou seja, pelo seu “caminho” naquela página.
Nessa hora, você deve estar se perguntando “e como é que eu pego isso?”. Nós vamos te mostrar, é algo muito simples.
Primeiro, temos que ir até a página em questão, em seguida vamos clicar em qualquer parte da página com o botão direito e ir até a opção Inspecionar ou Inspecionar Elemento.
Uma tela similar a essa será aberta no seu navegador, e lá no canto superior esquerdo temos a imagem de uma seta dentro de um quadrado. Vamos clicar nela para poder selecionar um elemento da página.
Feito isso vamos clicar no botão que queremos que o nosso código acesse para descobrir o código referente a ele.
Feito isso você irá visualizar uma linha que foi marcada, que é a linha de código referente ao que foi selecionado. Agora basta clicar com o botão direito nessa linha ir até a opção Copiar e selecionar XPath.
Com isso nós teremos o nosso “caminho” copiado, agora basta colocar dentro da nossa função de encontrar o elemento.
IMPORTANTE: É muito importante que esse caminho seja inserido dentro da função entre aspas simples, para evitar problemas quando o caminho tiver aspas duplas em seu conteúdo.
Para finalizar basta colocar no final do código da função o .click() que é para clicar nesse botão que copiamos o caminho!
Viu como foi simples essa nossa primeira automação dentro do Python?
Foi um exemplo simples utilizando o Google Chrome e/ou Firefox para poder acessar uma página da internet e clicar nos locais desejados.
Neste caso entramos em um site, acessamos uma página para poder fazer o download de um arquivo para o computador.
Para acessar outras publicações de Python, clique aqui!
Quer aprender mais sobre Python com um minicurso gratuito?
Sócio fundador e especialista em Python da Hashtag Treinamentos. Criador do Método Impressionador para ensinar pessoas comuns a crescerem na carreira e se destacarem na empresa usando o Python.