Guia Básico de Selenium com Python

Quando se trata de automação de testes ou tarefas na web, o Selenium é uma das ferramentas mais poderosas e populares entre os desenvolvedores. Uma das funcionalidades mais interessantes do Selenium é a capacidade de realizar ações em cadeia, ou “Action Chains”, que permitem simular uma série de ações do usuário de maneira mais complexa e realista. Neste artigo, vamos explorar como utilizar as ações em cadeia para elevar suas automações a um novo patamar.
Ações em cadeia são uma sequência de operações que são armazenadas em uma fila e executadas em ordem quando o método perform()
é chamado. Isso é particularmente útil quando você precisa simular interações que envolvem múltiplos passos, como arrastar e soltar, clicar e segurar, ou qualquer combinação de movimentos e cliques do mouse e teclado.
Para começar a usar ações em cadeia, você precisa importar a classe ActionChains
do Selenium. Veja um exemplo básico de como iniciar uma cadeia de ações:
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
driver.get("https://asimov.academy")
acao = ActionChains(driver)
A partir daí, você pode começar a adicionar ações à sua cadeia. Vamos explorar algumas das ações mais comuns.
Para simular um clique do mouse, você pode usar o método click
. Por exemplo, para clicar em uma área de texto no Google, você faria:
elemento = driver.find_element_by_xpath('//textarea[@aria-label="Pesquisar"]')
acao.click(on_element=elemento)
acao.perform()
Enviar teclas é tão simples quanto clicar. Se você quiser digitar algo após clicar, você adicionaria:
acao.send_keys('Asimov')
acao.perform()
Para simular a ação de pressionar e soltar uma tecla, você usaria key_down
e key_up
. Por exemplo, para digitar em caixa alta:
acao.key_down(Keys.SHIFT)
acao.send_keys('asimov')
acao.key_up(Keys.SHIFT)
acao.perform()
Arrastar e soltar é uma ação comum em muitas interfaces de usuário. Com Selenium, você pode facilmente simular essa ação:
draggable = driver.find_element_by_id('draggable')
droppable = driver.find_element_by_id('droppable')
acao.drag_and_drop(draggable, droppable)
acao.perform()
Às vezes, você precisa rolar a página até um elemento específico. Isso pode ser feito com scroll_to_element
:
elemento = driver.find_element_by_xpath('//h2[@aria-label="A gente explica"]')
acao.scroll_to_element(elemento)
acao.perform()
Ações em cadeia são uma ferramenta poderosa no arsenal do Selenium que permite simular interações complexas do usuário. Com a prática, você pode usar essas ações para criar automações robustas e confiáveis que economizam tempo e melhoram a qualidade dos testes. Experimente e veja como você pode automatizar tarefas complexas com facilidade!
Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:
Comentários
30xp