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
(ouCOMMAND
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.
Cursos de programação gratuitos com certificado
Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:
- Conteúdos gratuitos
- Projetos práticos
- Certificados
- +20 mil alunos e comunidade exclusiva
- Materiais didáticos e download de código
Comentários