Comment cliquer sur une image dans Selenium Pilote Web
Accéder aux liens d'images
Les liens d’image sont les liens dans les pages Web représentés par une image qui, une fois cliquée, permet d’accéder à une autre fenêtre ou page.
Puisqu'il s'agit d'images, nous ne pouvons pas utiliser les méthodes By.linkText() et By.partialLinkText() car les liens d'image n'ont fondamentalement aucun texte de lien.
Dans ce cas, nous devrions recourir à By.cssSelector ou By.xpath. La première méthode est préférable en raison de sa simplicité.
Dans l'exemple ci-dessous, nous accéderons au logo « Facebook » dans la partie supérieure gauche de la page de récupération de mot de passe de Facebook.
Nous utiliserons By.cssSelector et l'attribut « title » de l'élément pour accéder au lien de l'image. Et puis nous vérifierons si nous sommes redirigés vers la page d'accueil de Facebook.
package newproject; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class MyClass { public static void main(String[] args) { String baseUrl = "https://www.facebook.com/login/identify?ctx=recover"; System.setProperty("webdriver.chrome.driver","G:\\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.get(baseUrl); //click on the "Facebook" logo on the upper left portion driver.findElement(By.cssSelector("a[title=\"Go to Facebook home\"]")).click(); //verify that we are now back on Facebook's homepage if (driver.getTitle().equals("Facebook - log in or sign up")) { System.out.println("We are back at Facebook's homepage"); } else { System.out.println("We are NOT in Facebook's homepage"); } driver.close(); } }
Résultats
Conclusion
Tout cela consiste à cliquer sur les images. L'accès au lien de l'image se fait à l'aide de By.cssSelector()