2012-05-14 38 views
5

Tengo un problema al intentar probar una aplicación web con Selenium/Python. Básicamente no puedo probar elementos de una ventana emergente.Selenium: Ventanas emergentes de prueba

Escenario: Puedo probar todos los elementos de una página. Pero cuando hago clic en un botón que abre una pequeña ventana emergente, no puedo probar los elementos en la ventana emergente. Es como si la ventana emergente no estuviera enfocada o activa.

Puedo probar elementos en la página siguiente. Por ejemplo, haga clic en un botón, me lleva a la página siguiente y puedo trabajar con elementos en la página "siguiente". Entonces, el problema parece ser específico de una ventana emergente.

Podría publicar el código, pero para ser sincero, podría confundir en esta etapa. Puedo publicar el código en un post posterior, gracias

Respuesta

6

Hay una propiedad llamada switch_to

Q: ¿Cómo manejo ventanas pop-up?

A: WebDriver ofrece la capacidad de hacer frente a múltiples ventanas. Esto se hace usando el método WebDriver.switch_to.window(knownName) para cambiar a una ventana con un nombre conocido.

Si no se conoce el nombre, puede usar WebDriver.window_handles para obtener una lista de ventanas conocidas.

Usted puede pasar el mango para switch_to.window(handleName)

Por ejemplo he usado driverName.switchTo.window(driverName.getWindowHandle()) para obtener una bodega de ventanas emergentes para los que no lo desee buscar nombres.

referencias adicionales: http://code.google.com/p/selenium/wiki/FrequentlyAskedQuestions

+0

Gracias por esto. Estoy usando selenio RC. ¿Se puede adaptar esto en RC? – user1303594

+0

http://stackoverflow.com/questions/99045/handling-browser-pop-up-windows-with-selenium esto parece estar relacionado con RC. No he usado RC, así que no lo sabría. – CosminO

+0

Sin problemas, gracias por la solución de controlador web sin embargo, será útil – user1303594

0

Para la API de selenio RC, es necesario utilizar el comando SelectWindow para cambiar a la ventana emergente. La ventana puede especificarse por su nombre (como se especifica en la función JavaScript window.open()) o su título. Para volver a la ventana principal, use SelectWindow(None).

Cuestiones relacionadas