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.

¿Por qué el método switch_to_window() no funciona en Selenium Webdriver en Python?

Estoy tratando de cambiar a una ventana recién abierta utilizando el controlador Selenium de Python. El código funcionaba bien antes, pero ahora está mostrando un error. Sorprendentemente, el método switch_to_window() no está siendo reconocido por Python y no tiene ninguna declaración para ir a él.

def process_ebl_statements(self, account_number):

    current_window = self.driver.current_window_handle
    all_windows = self.driver.window_handles

    print("Ventana actual:", current_window)
    print("Todas las ventanas:", all_windows)
    number_of_windows = len(all_windows)
    self.driver.switch_to_window(all_windows[number_of_windows - 1])

Detalles del error:

El objeto 'WebDriver' no tiene el atributo 'switch_to_window'

Descripción de la imagen

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que el método switch_to_window() ya no es reconocido por el webdriver de Python. Esto puede deberse a cambios en la versión del webdriver de selenium que se está utilizando.

    Para cambiar a una ventana recién abierta utilizando el webdriver de Python y selenium, el método correcto a utilizar es switch_to.window().

    Por ejemplo:

    def process_ebl_statements(self, account_number):
    
        current_window = self.driver.current_window_handle
        all_windows = self.driver.window_handles
    
        print("Ventana actual: ", current_window)
        print("Todas las ventanas: ", all_windows)
        number_of_windows = len(all_windows)
        self.driver.switch_to.window(all_windows[number_of_windows - 1])
    

    Esto debería permitirle cambiar a la ventana recién abierta.

Comments are closed.