Keys Especiais em Selenium: Como Utilizar em Python

Juliano Faccioni
6 minutos de leitura

Conteúdos do tutorial

Quando se trata de automação de testes ou tarefas em navegadores web com Selenium em Python, muitas vezes precisamos simular ações do teclado que vão além da simples digitação de caracteres. É aí que entram as chamadas Keys Especiais em Selenium. Neste artigo, vamos explorar a utilidade dessas teclas, quais são as mais utilizadas e como aplicá-las em seus scripts de automação.

A Utilidade das Keys Especiais

As keys especiais são teclas que executam funções específicas no sistema operacional ou em aplicativos. No contexto do Selenium, elas permitem simular ações como pressionar a tecla “Enter”, “Ctrl”, “Shift”, entre outras, possibilitando interações mais complexas com a página web, como selecionar todo o texto de um campo ou navegar entre os elementos de um formulário.

Keys Especiais Mais Utilizadas

Algumas das keys especiais mais utilizadas em automação com Selenium incluem:

  • ENTER: Usada para simular a tecla Enter, frequentemente utilizada para submeter formulários.
  • ESCAPE: Usada para simular a tecla Esc, que pode ser usada para fechar diálogos ou cancelar operações.
  • TAB: Usada para navegar entre os campos de um formulário.
  • CONTROL (ou COMMAND em Mac): Usada em combinação com outras teclas para executar comandos como copiar e colar.
  • SHIFT: Usada para digitar letras maiúsculas ou em combinação com outras teclas para selecionar texto.
  • ARROW_UP, ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT: Usadas para navegar entre os elementos de uma página ou dentro de um campo de texto.

Exemplos de Utilização

Para utilizar as keys especiais em Selenium, primeiro precisamos importar a classe Keys do módulo selenium.webdriver.common.keys. Veja alguns exemplos de como essas teclas podem ser aplicadas:

Simulando a Tecla Enter

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
driver.get("http://algumaurl.com")
elemento = driver.find_element_by_id("campo_de_texto")
elemento.send_keys("Algum texto" + Keys.ENTER)

Utilizando Ctrl+C e Ctrl+V

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
driver.get("http://algumaurl.com")
elemento = driver.find_element_by_id("campo_de_texto")
elemento.send_keys("Texto para copiar")

# Seleciona o texto e copia
actions = ActionChains(driver)
actions.key_down(Keys.CONTROL).send_keys('a').send_keys('c').key_up(Keys.CONTROL).perform()

# Cola o texto copiado em outro campo
outro_elemento = driver.find_element_by_id("outro_campo_de_texto")
actions = ActionChains(driver)
actions.key_down(Keys.CONTROL).send_keys('v').key_up(Keys.CONTROL).perform()

Navegando com as Setas do Teclado

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
driver.get("http://algumaurl.com")
elemento = driver.find_element_by_id("campo_de_texto")

# Navega entre os itens de uma lista ou menu
elemento.send_keys(Keys.ARROW_DOWN)
elemento.send_keys(Keys.ARROW_UP)

Escrevendo em Maiúsculas com Shift

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
driver.get("http://algumaurl.com")
elemento = driver.find_element_by_id("campo_de_texto")

# Digita texto em maiúsculas
actions = ActionChains(driver)
actions.key_down(Keys.SHIFT).send_keys('texto em maiúsculas').key_up(Keys.SHIFT).perform()

As keys especiais são ferramentas poderosas que ampliam as possibilidades de interação com a página web durante a automação com Selenium. Com elas, é possível simular quase qualquer ação que um usuário faria com o teclado, tornando seus testes e automações muito mais versáteis e eficientes. Experimente incorporá-las em seus scripts e veja como elas podem facilitar a automação de tarefas complexas.

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: