Como clicar na imagem em Selenium Driver da Web
โก Resumo Inteligente
Clique na imagem em Selenium O WebDriver exige seletores CSS ou estratรฉgias XPath porque os elementos de imagem nรฃo expรตem o texto do link. Este artigo explica como localizar a imagem, acionar a aรงรฃo de clique e verificar se a navegaรงรฃo foi bem-sucedida.

Clicar em uma imagem Selenium O WebDriver รฉ uma ferramenta comum quando um รญcone, logotipo ou miniatura funciona como um link de navegaรงรฃo. Como as imagens nรฃo contรชm texto visรญvel, os localizadores tradicionais de texto para links falham e uma estratรฉgia de seleรงรฃo mais confiรกvel se faz necessรกria.
Acessando links de imagens
Os links de imagem sรฃo รขncoras em pรกginas da web representadas por uma imagem que, ao ser clicada, leva o navegador a uma janela ou pรกgina diferente.
Como sรฃo imagens, nรฃo podemos usar os mรฉtodos By.linkText() e By.partialLinkText() porque os links de imagem nรฃo tรชm nenhum texto de link.
Nesse caso, devemos recorrer ao uso de `By.cssSelector` ou `By.xpath`. O primeiro mรฉtodo รฉ geralmente preferido devido ร sua simplicidade e legibilidade.
No exemplo abaixo, acessaremos o logotipo โFacebookโ na parte superior esquerda da pรกgina de recuperaรงรฃo de senha do Facebook.
Usaremos o seletor CSS `By.cssSelector` e o atributo "title" do elemento para acessar o link da imagem. Em seguida, verificaremos se o navegador foi redirecionado para a pรกgina inicial do Facebook.
Java Code Exemplo
Os seguintes Selenium O trecho de cรณdigo do WebDriver inicia o Chrome, abre a pรกgina de recuperaรงรฃo de senha do Facebook, clica na imagem do logotipo do Facebook e verifica o tรญtulo da pรกgina resultante.
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
Melhores prรกticas para clicar em imagens
Alguns hรกbitos tornam a automaรงรฃo de cliques em imagens mais confiรกvel em diferentes navegadores e tamanhos de tela.
- Prefira um atributo estรกvel como title, alt, aria-label ou data-* em vez de caminhos CSS profundamente aninhados.
- Adicione um WebDriverWait explรญcito para que o ElementToBeClickable seja ativado antes de executar o clique.
- Para imagens com carregamento lento, role o elemento para que ele fique visรญvel com JavascriptPrimeiro o executor.
- Se uma sobreposiรงรฃo transparente interceptar o clique, volte a usar uma camada transparente. JavaClique no elemento subjacente usando o script.
- Valide a navegaรงรฃo com driver.getTitle() ou um elemento รบnico na pรกgina de destino.
Como a IA aprimora as estratรฉgias de localizaรงรฃo de imagens
Ferramentas de teste assistidas por IA, como TestimMabl e Healenium analisam o DOM ao redor de uma imagem e propรตem localizadores com capacidade de autocorreรงรฃo. Quando um nome de classe ou atributo muda apรณs uma atualizaรงรฃo, o framework o substitui automaticamente pela alternativa mais estรกvel, o que reduz falhas intermitentes na navegaรงรฃo baseada em รญcones.
Os engenheiros tambรฉm podem usar o ChatGPT ou o GitHub Copilot para gerar trechos de cรณdigo WebDriver, sugerir expressรตes CSS ou XPath robustas para uma imagem e elaborar asserรงรตes para a pรกgina que serรก carregada apรณs o clique. O cรณdigo gerado ainda deve ser revisado quanto ร correรงรฃo e ao tratamento de esperas e sobreposiรงรตes.
Conclusรฃo
Clicar em links de imagens em Selenium O WebDriver รฉ simples de usar depois que vocรช escolhe um localizador estรกvel. Usar `By.cssSelector` com o atributo `title` ou `alt` รฉ a abordagem mais legรญvel; usar `By.xpath` รฉ a alternativa quando a marcaรงรฃo รฉ complexa; e aguardar explicitamente torna o script confiรกvel em vรกrias execuรงรตes.

.png)
.png)