es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Winappdriver-python, ¿cómo puedo cambiar y acceder a otra ventana?

Utilizo winappdriver con Python para automatizar mi aplicación de Windows. La aplicación abre una subventana a la que necesito acceder/validar. He intentado algunas formas pero no puedo hacer que funcione. Otro escenario es cuando la aplicación abre un cuadro de diálogo de guardar archivo de Windows donde no puedo usar send_keys y hacer clic en el botón guardar.

¿Alguien podría ayudarme por favor? ¿Hay algún código que necesite usar para cambiar a la nueva ventana?

Soy capaz de lanzar la aplicación y acceder a la ventana principal de la aplicación sin problemas.
Mi código de lanzamiento de la aplicación se ve así:

import pytest
from appium import webdriver
webdriver.remote(command_executor=’http://localhost:4723′, desired_capabilities={“app”:<>})

Cuando intento cambiar a la nueva ventana usando el siguiente código:

windows = self.driver.window_handles()
self.driver.switch_to_window(windows[0])

Obtengo el error ‘El objeto Webdriver no tiene el atributo ‘w3c”.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para cambiar a una nueva ventana en WinAppDriver con Python, puedes utilizar el método switch_to.window() con un argumento del identificador de la ventana.

    Para acceder a la subventana que necesitas validar, primero puedes obtener una lista de todos los identificadores de ventana utilizando el método window_handles(). Luego, cambia a la nueva ventana utilizando el método switch_to.window() con el respectivo identificador de ventana. Aquí tienes un ejemplo de código para cambiar a la segunda ventana:

    handles = driver.window_handles # devuelve una lista de identificadores de ventana
    driver.switch_to.window(handles[1]) # cambia a la segunda ventana
    

    Para el escenario en el que la aplicación abre un cuadro de diálogo para guardar un archivo, es posible que necesites cambiar el enfoque cambiando al identificador de ventana del cuadro de diálogo antes de ingresar el nombre del archivo utilizando el método send_keys(), y luego hacer clic en el botón Guardar.

    Si encuentras el error “webdriver object has no attribute ‘w3c'”, puede deberse a un problema con tu controlador de Selenium. Puedes intentar actualizar tu controlador o reducir la versión de Python para resolver el problema. Además, asegúrate de haber importado correctamente el módulo webdriver de Selenium.

Comments are closed.