Ir para o conteúdo

Teclado

Usando os métodos abaixo, você pode controlar e obter informações do teclado.

Escrevendo texto

Você pode escrever texto de algumas maneiras diferentes, dependendo do comportamento que você quero simular.

Digitação semelhante à humana

Usando esse método, você pode simular uma digitaão humana tecla por tecla.

# O método 'kb_type' recebe o texto a ser digitado.
bot.kb_type("Este é um exemplo usando o método 'kb_type'")
// O método 'kbType' recebe o texto a ser digitado.
kbType("Este é um exemplo usando o método 'kbType'");

Colar o texto de uma só vez

O método de paste é rápido e amplamente usado, mas a diferença é que ele apenas cola o conteúdo da área de transferência.

Dica

Alguns campos, como caixas de seleção (widgets de ComboBox) ou alguns formulários Web não permitem a operação paste. Para superar questões como essa, use o método que simula uma digitação humana descrito acima.

# O método `paste` recebe o texto a ser colado.
bot.paste("Este é um exemplo usando o método 'paste'")
// O método 'paste' utiliza o conteúdo do clipboard.
paste();

// O método 'type' recebe o texto que será digitado.
type("Este é um exemplo usando o método 'type'");

Pressionando teclas do teclado

Você pode pressionar teclas no teclado para ativar os atalhos e realizar outras operações.

Tab

O método tab pressiona a tecla Tab do teclado.

# Pressione a tecla tab.
bot.tab()
// Pressione a tecla tab.
tab();

Enter

O método enter pressiona a tecla Enter do teclado.

Dica

Esse método geralmente pode ser usado para substituir um clique ou interação por um botão por meio da visão computacional.

# Pressione a tecla Enter.
bot.enter()
// Pressione a tecla Enter.
enter();

Escape/Esc

# Pressione a tecla ESC.
bot.key_esc()
// Pressione a tecla ESC.
keyEsc();

Espaço/Space

# Pressione a tecla espaço.
bot.space()
// Pressione a tecla espaço.
space();

Backspace

# Pressione a tecla Backspace.
bot.backspace()
// Pressione a tecla Backspace.
backspace();

Delete

# Pressione a tecla delete.
bot.delete()
// Pressione a tecla delete.
delete();

Shift

A tecla Shift pode ser pressionada e liberada para simular uma magnitude de comportamentos, dependendo do processo que você está automatizando.

Para demonstrar, vamos manter a tecla Shift pressionada e digitar um texto para deixá-lo com letra maiúsculas. Também iremos fazer o release da tecla Shift e digitar o texto, porém agora a escrita ficará com letras minúsculas.

# Pressione e segure o 'shift'.
bot.hold_shift()

# Digite o texto "teste letras maiusculas", observando que o texto será digitado com a escrita em letras maiúsculas.
bot.type_key("teste letras maiusculas")

# Libera o 'shift'.
bot.release_shift()

# Espaço para digitar um novo texto.
bot.space(wait=1000)

# Digite o texto "teste letras minusculas", observando que o texto será digitado com a escrita em letras minúsculas, pois o `shift` foi liberado anteriormente.
bot.type_key("teste letras minusculas")
// Pressione e segure o `shift`.
holdShift();

// Digite o texto "teste letra maiuscula", observando que o texto será digitado com a escrita em letras maiúsculas.
type("teste letra maiuscula");

// Libera o 'shift'.
releaseShift();

// Espaço para digitar um novo texto.
space(1000);

// Digite o texto "teste letra minuscula", observando que o texto será digitado com a escrita em letras minúsculas, pois o `shift` foi liberado anteriormente.
type("teste letra minuscula");

Teclas direcionais

Com os métodos abaixo, podemos interagir ou pressionar as teclas direcionais do teclado (para cima, para baixo, esquerda e direita).

# No teclado direcional, pressione a tecla 'Up', seta para cima.
bot.type_up()

# No teclado direcional, pressione a tecla 'Down', seta para baixo.
bot.type_down()

# No teclado direcional, pressione a tecla 'Left', seta esquerda.
bot.type_left()

# No teclado direcional, pressione a tecla 'Right', seta direita.
bot.type_right()
// No teclado direcional, pressione a tecla 'Up', seta para cima.
typeUp();

// No teclado direcional, pressione a tecla 'Down', seta para baixo.
typeDown();

// No teclado direcional, pressione a tecla 'Left', seta esquerda.
typeLeft();

// No teclado direcional, pressione a tecla 'Right', seta direita.
typeRight();

Page Up e Page Down

# Pressione a tecla para cima, fazendo a página rolar para cima.
bot.page_up()

# Pressione a tecla para baixo, fazendo a página rolar para baixo.
bot.page_down()
// Pressione a tecla para cima, fazendo a página rolar para cima.
pageUp();

// Pressione a tecla para baixo, fazendo a página rolar para baixo.
pageDown();

Atalhos do teclado

O framework possui os atalhos mais usados prontos para uso.

Caso precise executar um atalho específico, você pode usar o método type keys para pressionar qualquer lista de teclas e simular qualquer atalho.

Aviso

Você deve utilizar teclas e atalhos que sejam compatíveis com o contexto do navegador.

Usando teclas de digitação para atalhos

# Pressionando as teclas em sequência.
bot.type_keys(["a", "b", "c"])

# Pressionando as teclas em sequência com intervalo para pressionar e liberar as teclas.
bot.type_keys_with_interval(interval=2000, keys=["a", "b", "c"])
// Pressionando as teclas em sequência.
typeKeys("a", "b", "c");

Você também pode passar a referência da tecla que precisa utilizar através da classe Keys do Selenium.

from selenium.webdriver.common.keys import Keys

# Pressionando as teclas em sequência.
bot.type_keys([Keys.CONTROL, Keys.ALT, "c"])
import org.openqa.selenium.Keys;

// Pressionando as teclas em sequência.
typeKeys(Keys.CONTROL, Keys.ALT, "c");

Atalhos com Control

# Pressionando 'Ctrl + C' para copiar a área de transferência.
bot.control_c()

# Pressionando 'Ctrl + V' para colar o conteúdo.
bot.control_v()

# Pressionando 'Ctrl + A' para selecionar todo o conteúdo.
bot.control_a()
// Pressionando 'Ctrl + C' para copiar a área de transferência.
controlC();

// Pressionando 'Ctrl + V' para colar o conteúdo.
controlV();

// Pressionando 'Ctrl + A' para selecionar todo o conteúdo.
controlA();