Cómo hacer clic en la imagen en Selenium controlador web
Acceder a enlaces de imágenes
Los enlaces de imágenes son enlaces en páginas web representadas por una imagen que, al hacer clic en ella, navega a una ventana o página diferente.
Como son imágenes, no podemos usar los métodos By.linkText() y By.partialLinkText() porque los enlaces de imágenes básicamente no tienen ningún texto de enlace.
En este caso, deberíamos recurrir al uso de By.cssSelector o By.xpath. El primer método es más preferido debido a su simplicidad.
En el siguiente ejemplo, accederemos al logotipo de "Facebook" en la parte superior izquierda de la página de recuperación de contraseña de Facebook.
Usaremos By.cssSelector y el atributo "título" del elemento para acceder al enlace de la imagen. Y luego verificaremos si somos redirigidos a la página de inicio 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(); } }
Resultado
Conclusión
Todo esto es para hacer clic en imágenes. El acceso al enlace de la imagen se realiza mediante By.cssSelector()