Strings de acción en Selenium Python

El módulo Python de Selenium está diseñado para realizar pruebas automatizadas con Python. ActionChains es una forma de automatizar interacciones de bajo nivel, como movimientos del mouse, acciones de botones del mouse, pulsaciones de teclas e interacciones del menú contextual. Esto es útil para realizar acciones más complejas como pasar el cursor por encima y arrastrar y soltar. Los métodos de string de acción son utilizados por secuencias de comandos avanzadas donde necesitamos arrastrar un elemento, hacer clic en un elemento. Este artículo gira en torno a cómo manipular DOM usando strings de acción en Selenium. Hemos cubierto todos los métodos con ejemplos en detalle.

ActionChains se implementan con la ayuda de un objeto de string de acción que almacena las acciones en una cola y cuando se llama a perform(), realiza las operaciones en cola.

¿Cómo crear un objeto de string de acción?

Para crear un objeto de la string de acción, importe la clase de string de acción de los documentos y pase el controlador como argumento clave. Después de esto, uno puede usar este objeto para realizar todas las operaciones de las strings de acción.

# import webdriver
from selenium import webdriver
   
# import Action chains 
from selenium.webdriver.common.action_chains import ActionChains
   
# create webdriver object
driver = webdriver.Firefox()
   
# create action chain object
action = ActionChains(driver)
  

¿Cómo usar strings de acción en Selenium?

Después de que uno haya creado un objeto de la string de acción, abra una página web y realice varios otros métodos utilizando la sintaxis y los ejemplos a continuación. Las strings de acción se pueden usar en un patrón de string como se muestra a continuación:

menu = driver.find_element_by_css_selector(".nav")
hidden_submenu = driver.find_element_by_css_selector(".nav # submenu1")
  
ActionChains(driver).move_to_element(menu).click(hidden_submenu).perform()

O las acciones pueden ponerse en cola una por una y luego ejecutarse:

menu = driver.find_element_by_css_selector(".nav")
hidden_submenu = driver.find_element_by_css_selector(".nav # submenu1")
  
actions = ActionChains(driver)
actions.move_to_element(menu)
actions.click(hidden_submenu)
actions.perform()

Ejemplo de proyecto –

Intentemos implementar strings de acción usando https://www.geeksforgeeks.org/ y juguemos con varios métodos de Selenium Python.

# import webdriver
from selenium import webdriver
   
# import Action chains 
from selenium.webdriver.common.action_chains import ActionChains
   
# create webdriver object
driver = webdriver.Firefox()
   
# get geeksforgeeks.org
driver.get("https://www.geeksforgeeks.org/")
   
# get element 
element = driver.find_element_by_link_text("Courses")
   
# create action chain object
action = ActionChains(driver)
   
# click the item
action.click(on_element = element)
   
# perform the operation
action.perform()

El código anterior, primero abre https://www.geeksforgeeks.org/ y luego hace clic en el botón de cursos en el encabezado, que luego redirige el navegador a https://practice.geeksforgeeks.org/ automáticamente.
Salida:
el primer controlador abre https://www.geeksforgeeks.org/,

action-chain-Selenium-Python

luego redirige a https://practice.geeksforgeeks.org/

click-element-method-Selenium-Python

Métodos de string de acción en Selenium Python

Se puede realizar una gran cantidad de operaciones utilizando strings de acción, como hacer clic, hacer clic con el botón derecho, etc. Aquí hay una lista de métodos importantes que se usan en las strings de acción.

Método Descripción
hacer clic Hace clic en un elemento.
hacer clic y mantener Mantiene pulsado el botón izquierdo del ratón sobre un elemento.
contexto_clic Realiza un clic contextual (clic derecho) en un elemento.
haga doble clic Hace doble clic en un elemento.
arrastrar y soltar Mantiene presionado el botón izquierdo del mouse en el elemento de origen, luego se mueve al elemento de destino y suelta el botón del mouse.
arrastrar y soltar por desplazamiento Mantiene presionado el botón izquierdo del mouse en el elemento de origen, luego se mueve al desplazamiento de destino y suelta el botón del mouse.
tecla_abajo Envía solo una pulsación de tecla, sin soltarla.
tecla Arriba Libera una tecla modificadora.
move_by_offset Mover el mouse a un desplazamiento desde la posición actual del mouse.
mover_a_elemento Mover el ratón al centro de un elemento.
move_to_element_with_offset Mueva el mouse por un desplazamiento del elemento especificado, los desplazamientos son relativos a la esquina superior izquierda del elemento.
llevar a cabo Realiza todas las acciones almacenadas.
pausa Pausa todas las entradas por la duración especificada en segundos
liberar Soltar un botón del mouse sostenido en un elemento.
restablecer_acciones Borra acciones que ya están almacenadas localmente y en el extremo remoto
enviar_claves Envía claves al elemento enfocado actual.

Publicación traducida automáticamente

Artículo escrito por NaveenArora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *