Ações em Cadeia com Selenium: Automatizando a Web

Ana Maria Gomes
5 minutos de leitura

Conteúdos do tutorial

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.

O que são Ações em Cadeia?

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.

Como Utilizar Ações em Cadeia

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.

Click

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()

Send Keys

Enviar teclas é tão simples quanto clicar. Se você quiser digitar algo após clicar, você adicionaria:

acao.send_keys('Asimov')
acao.perform()

Key Down e Key Up

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()

Drag and Drop

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()

Scroll To Element

À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()

Dicas para Ações em Cadeia Eficazes

  • Teste cuidadosamente: Ações em cadeia podem ser complexas, então teste cada passo cuidadosamente para garantir que a automação está funcionando como esperado.
  • Use esperas explícitas: Para garantir que os elementos estejam prontos para interação, use esperas explícitas antes de realizar ações em cadeia.
  • Mantenha o código limpo: Ações em cadeia podem tornar seu código confuso rapidamente. Mantenha-o organizado e comentado para facilitar a manutenção.

Conclusão

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!

Inscreva-se gratuitamente e fique atualizado

Receba toda semana um resumo dos principais conteúdos da Asimov direto no seu e-mail. 100% livre de spam.

Áreas de interesse: