Estoy buscando una forma más elegante de actualizar la página web durante las pruebas (uso Selenium2). Acabo de enviar la clave F5, pero me pregunto si el controlador tiene un método para actualizar toda la página web. Aquí está mi código
while(driver.findElements(By.xpath("//*[text() = 'READY']")).size() == 0 )
driver.findElement(By.xpath("//body")).sendKeys(Keys.F5);
//element appear after text READY is presented
driver.findElement(By.cssSelector("div.column a")).click();
Quizás sea una mejor solución para encontrar elementos en una página actualizada manualmente
selenium
refresh
webdriver
selenium-webdriver
pbaranski
fuente
fuente
driver.navigate().refresh()
en su encabezado de solicitud dice "no-cache" y, como resultado, recarga incondicionalmente todo el contenido. Mientras que presionar F5 podría dar como resultado una solicitud "If-Modified-Since", podría obtener una respuesta "304 Not Modified". Debe tener en cuenta esa diferencia si realiza pruebas de carga.En Python hay un método para hacer esto:
driver.refresh()
. Puede que no sea lo mismo en Java.Alternativamente, podría
driver.get("http://foo.bar");
hacerlo, aunque creo que el método de actualización debería funcionar bien.fuente
driver.get("http://foo.bar")
might, simplemente usedriver.get(driver.current_url)
En pitón
Usando el método incorporado
o, ejecutando JavaScript
fuente
5 formas diferentes de actualizar una página web utilizando Selenium Webdriver
No hay codificación adicional especial. Acabo de usar las funciones existentes de diferentes maneras para que funcione. Aquí están :
Usando el método sendKeys.Keys
Usando el método navigation.refresh ()
Usando el método navigation.to ()
Usando el método get ()
Usando el método sendKeys ()
fuente
Encontró varios enfoques para actualizar la aplicación en selenio: -
Para el código en vivo, consulte el enlace http://www.ufthelp.com/2014/11/Methods-Browser-Refresh-Selenium.html
fuente
Aquí está la versión de C # ligeramente diferente:
fuente
Alternativa para la actualización de página (F5)
(o)
fuente
Una cosa importante a tener en cuenta es que la llamada driver.navigate (). Refresh () a veces parece ser asíncrona, lo que significa que no espera a que finalice la actualización, simplemente "inicia la actualización" y no bloquea la ejecución posterior mientras el navegador está recargando la página.
Si bien esto solo parece suceder en una minoría de casos, pensamos que es mejor asegurarse de que esto funcione al 100% agregando una verificación manual si la página realmente comenzó a recargarse.
Aquí está el código que escribí para eso en nuestra clase de objeto de página base:
Algunas notas:
Nuevamente, en la gran mayoría de los casos, el bucle do / while se ejecuta una sola vez porque el código más allá de navegar (). Refresh () no se ejecuta hasta que el navegador vuelve a cargar la página por completo, pero hemos visto casos en los que En realidad, lleva unos segundos atravesar ese ciclo porque el navegador (). refresh () no se bloqueó hasta que el navegador terminó de cargarse.
fuente
También puedes probar
fuente
También hay un caso en el que desea actualizar solo un iframe específico en la página y no la página completa.
Lo que haces es lo siguiente:
fuente
En PHP:
fuente
Otra forma de actualizar la página actual usando selenio en Java.
Usar esto actualizará la página actual, como hacer clic en la barra de direcciones del navegador y presionar enter.
fuente
En R puede usar el método de actualización, pero para comenzar navegamos a una url usando el método de navegación:
fuente