Je recherche un moyen plus élégant de rafraîchir la page Web pendant les tests (j'utilise Selenium2). Je viens d'envoyer la clé F5 mais je me demande si le pilote a une méthode pour actualiser toute la page Web Voici mon code
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();
Peut-être est-ce une meilleure solution pour trouver un élément sur une page actualisée manuellement
selenium
refresh
webdriver
selenium-webdriver
Pbaranski
la source
la source
driver.navigate().refresh()
dans son en-tête de requête dit "no-cache" et, par conséquent, recharge inconditionnellement tout le contenu. Alors que le fait d'appuyer sur F5 pourrait entraîner une demande «If-Modified-Since», cela pourrait obtenir une réponse «304 Not Modified». Vous devez garder cette différence à l'esprit si vous effectuez des tests de charge.En Python il y a une méthode pour ce faire:
driver.refresh()
. Ce n'est peut-être pas la même chose en Java.Vous pouvez également
driver.get("http://foo.bar");
, bien que je pense que la méthode d'actualisation devrait fonctionner correctement.la source
driver.get("http://foo.bar")
pouvez aussi bien utiliserdriver.get(driver.current_url)
En python
Utilisation de la méthode intégrée
ou, exécution de JavaScript
la source
5 façons différentes d'actualiser une page Web à l'aide de Selenium Webdriver
Il n'y a pas de codage supplémentaire spécial. Je viens d'utiliser les fonctions existantes de différentes manières pour le faire fonctionner. Les voici :
Utilisation de la méthode sendKeys.Keys
Utilisation de la méthode navigate.refresh ()
Utilisation de la méthode navigate.to ()
Utilisation de la méthode get ()
Utilisation de la méthode sendKeys ()
la source
Trouvé diverses approches pour rafraîchir l'application dans le sélénium: -
Pour le code en direct, veuillez consulter le lien http://www.ufthelp.com/2014/11/Methods-Browser-Refresh-Selenium.html
la source
Voici la version C # légèrement différente:
la source
Alternative pour l' actualisation de la page (F5)
(ou)
la source
Une chose importante à noter est que l'appel driver.navigate (). Refresh () semble parfois être asynchrone, ce qui signifie qu'il n'attend pas la fin de l'actualisation, il "lance simplement l'actualisation" et ne bloque pas la poursuite de l'exécution pendant que le navigateur recharge la page.
Bien que cela ne semble se produire que dans une minorité de cas, nous avons pensé qu'il était préférable de s'assurer que cela fonctionne à 100% en ajoutant un contrôle manuel si la page avait vraiment commencé à se recharger.
Voici le code que j'ai écrit pour cela dans notre classe d'objet de page de base:
Quelques notes:
Encore une fois, dans la grande majorité des cas, la boucle do / while s'exécute une seule fois car le code au-delà de navigate (). Refresh () n'est pas exécuté tant que le navigateur n'a pas rechargé complètement la page, mais nous avons vu des cas où cela prend en fait quelques secondes pour traverser cette boucle car le navigateur (). refresh () ne s'est pas bloqué tant que le navigateur n'a pas fini de charger.
la source
Vous pouvez également essayer
la source
Il existe également un cas où vous souhaitez actualiser uniquement une iframe spécifique sur la page et non la page complète.
Vous faites est comme suit:
la source
En PHP:
la source
Une autre façon d'actualiser la page actuelle en utilisant le sélénium en Java.
L'utilisation de ceci actualisera la page actuelle comme en cliquant sur la barre d'adresse du navigateur et en appuyant sur Entrée.
la source
Dans R, vous pouvez utiliser la méthode de rafraîchissement, mais pour commencer, nous naviguons vers une URL en utilisant la méthode de navigation:
la source