Saltar a contenido

Teclado

Utilizando los métodos a continuación, puedes controlar y obtener información del teclado.

Escribir texto

Puedes escribir texto de diferentes maneras dependiendo del comportamiento que desees simular.

Escritura similar a la humana

Utilizando este método puedes simular la escritura de texto como lo haría un humano, tecla por tecla.

# El método 'kb_type' recibe el texto a escribir.
bot.kb_type("Este es un ejemplo utilizando el método 'kb_type'")
// El método 'kbType' recibe el texto a escribir.
kbType("Este es un ejemplo utilizando el método 'kbType'");

Pegar el texto de una vez

El método paste es rápido y ampliamente utilizado, pero la diferencia es que simplemente pega el contenido del portapapeles.

Tip

Algunos campos como las casillas de selección (widgets ComboBox) o algunos formularios web no permiten la operación de paste. Para solucionar problemas como ese, utiliza el método de escritura similar a la humana descrito anteriormente.

# El método 'paste' recibe el texto a pegar.
bot.paste("Este es un ejemplo utilizando el método 'paste'")
// 'paste' method uses clipboard content.
paste();

// 'type' method receives text to be typed.
type("This is a exemple using 'type' method");

Presionar teclas del teclado

Puedes presionar teclas del teclado para activar atajos y realizar otras operaciones.

Tabulador

El método tab presiona la tecla Tab del teclado.

# Press tab key.
bot.tab()
// Presionar la tecla tabulador.
tab();

Enter

El método enter presiona la tecla Enter del teclado.

Tip

Este método a menudo se puede utilizar para reemplazar un clic o una interacción con un botón a través de la visión por computadora.

# Press enter key.
bot.enter()
// Presionar la tecla enter.
enter();

Escape/Esc

# Press Esc key.
bot.key_esc()
// Presionar la tecla Esc.
keyEsc();

Espacio

# Press space key.
bot.space()
// Presionar la tecla espacio.
space();

Retroceso

# Press backspace key.
bot.backspace()
// Presionar la tecla retroceso.
backspace();

Suprimir

# Press Delete key.
bot.delete()
// Presionar la tecla suprimir.
delete();

Shift

La tecla Shift se puede mantener presionada y soltar para simular una variedad de comportamientos dependiendo del proceso que estés automatizando.

Para demostrarlo, vamos a mantener presionada la tecla Shift y escribir un texto para que el texto aparezca en mayúsculas. También vamos a soltar la tecla Shift y escribir el mismo texto en minúsculas.

# Press and hold shift.
bot.hold_shift()

# Type the text "test", noting that the text is rendered in uppercase.
bot.type_key("test uppercase")

# Realese shift.
bot.release_shift()

# take a space to type new text.
bot.space(wait=1000)

# Type the text "test", noting that the text is rendered in lowercase, because was used the method  release shift earlier.
bot.type_key("test lowercase")
// Presionar y mantener presionada la tecla shift.
holdShift();

// Escribir el texto "test", observa que el texto se muestra en mayúsculas.
type("test en mayúsculas");

// Soltar la tecla shift.
releaseShift();

// Hacer un espacio para escribir un nuevo texto.
space(1000);

// Escribir el texto "test", observa que el texto se muestra en minúsculas, porque se utilizó el método release shift anteriormente.
type("test en minúsculas");

Teclas direccionales

Con los métodos a continuación, podemos interactuar o presionar las teclas direccionales del teclado (arriba, abajo, izquierda y derecha).

# On the directional keyboard, press the up key, up arrow.
bot.type_up()

# On the directional keyboard, press the down key, down arrow.
bot.type_down()

# On the directional keyboard, press the left key, left arrow.
bot.type_left()

# On the directional keyboard, press the right key, right arrow.
bot.type_right()
// the directional keyboard, press the up key, up arrow.
typeUp();

// On the directional keyboard, press the down key, down arrow.
typeDown();

// On the directional keyboardd, press the Left key, Left arrow.
typeLeft();

// On the directional keyboard, press the right key, right arrow.
typeRight();

Page Up y Page Down

# Press page up key, making the page scroll up.
bot.page_up()

# Press page up key, making the page scroll down.
bot.page_down()
// Presionar la tecla arriba, haciendo que la página se desplace hacia arriba.
pageUp();

// Presionar la tecla abajo, haciendo que la página se desplace hacia abajo.
pageDown();

Atajos de teclado

El framework tiene los atajos más utilizados listos para usar.

En caso de que hayamos omitido alguno, puedes utilizar el método type keys para presionar cualquier lista de teclas y simular cualquier atajo.

Warning

Debes utilizar teclas y atajos que sean compatibles con el contexto del navegador.

Utilizando type keys para atajos

# Pressing keys in sequence.
bot.type_keys(["a", "b", "c"])

# Pressing keys in sequence with interval in which to press and release keys.
bot.type_keys_with_interval(interval=2000, keys=["a", "b", "c"])
// Presionando teclas en secuencia.
typeKeys("a", "b", "c");

También puedes pasar la referencia de la tecla que necesitas utilizar a través de la clase Keys de Selenium.

from selenium.webdriver.common.keys import Keys

# Pressing keys in sequence.
bot.type_keys([Keys.CONTROL, Keys.ALT, "c"])
import org.openqa.selenium.Keys;

// Pressing keys in sequence.
typeKeys(Keys.CONTROL, Keys.ALT, "c");

Atajo con Control

# Pressing 'Ctrl + c' to copy clipboard.
bot.control_c()

# Pressing 'Ctrl + v' to paste content.
bot.control_v()

# Pressing 'Ctrl + a' to select all content.
bot.control_a()
// Presionar 'Ctrl + c' para copiar al portapapeles.
controlC();

// Presionar 'Ctrl + v' para pegar contenido.
controlV();

// Presionar 'Ctrl + a' para seleccionar todo el contenido.
controlA();