Saltar al contenido

Cambiar al marco principal desde iFrame y buscar un elemento en el marco principal con Selenium Webdriver. C#

Solución:

Eso es por sus respuestas chicos. ¡Está resuelto!

La solución:

  • Mientras uso el webDriver.SwitchTo().DefaultContent(); cambia el webDriver a la ventana más alta de la página. [Previously I was looking for the button element in this window and therefore was not able to find it as the button was sitting in the main frame of the page]

  • Después de cambiar a la ventana principal, cambié el webDriver de nuevo al marco principal de la página. Este marco principal tenía el elemento de botón. Así pude encontrar el elemento de botón. ¡Y esto resolvió el problema!

Entonces el código final no tiene webDriver.SwitchTo().DefaultContent(); pero tiene lo siguiente en su lugar:

    _webDriver.SwitchTo().Window(windowHandle);
    _webDriver.SwitchTo().Frame("mainFrame");

Nota: windowHandle en el código anterior es el identificador de la ventana superior de la página. Supongo que su valor puede cambiar según los navegadores, aunque no estoy seguro.

El siguiente código funcionó bien:

driver.switchTo().parentFrame();

Estaba luchando con un problema similar y descubrí que podía volver Window Handle:

string currentWindow = Driver.CurrentWindowHandle;
// switch to frame and do stuff..
Driver.SwitchTo().Window(currentWindow); // switch back
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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