---Advertisement---

Selenium WebDriver: How to Click Image Links Using CSS Selectors and XPath Best 2025

By Shiva

Updated On:

---Advertisement---
Selenium WebDriver: How to Click Image Links Using CSS Selectors and XPath Best Opportunity-2025

1.”Learn how to click image links in Selenium WebDriver using CSS Selectors and XPath for efficient web automation.”

2.”Master the techniques to locate and interact with image links using XPath and CSS Selectors in Selenium WebDriver.”

In web automation, interacting with images is crucial, especially when they function as hyperlinks. Unlike text-based links, image links do not have direct link texts, making it necessary to use By.cssSelector or By.xpath to locate and click them.

This guide will demonstrate how to click an image using Selenium WebDriver, ensuring seamless navigation. Additionally, we will verify that the redirection happens as expected. By the end of this article, you will understand how to handle image links efficiently in Selenium.


Image links are commonly used for navigation. Examples include:

  • Clicking on a company’s logo to return to the homepage.
  • Accessing a product page by clicking on an image in an e-commerce store.
  • Navigating through image-based carousels or banners.

Since these links have no text, using By.linkText() or By.partialLinkText() will not work. Instead, we use CSS Selectors or XPath to locate and click on the image element.


The CSS Selector method is preferred due to its simplicity and efficiency. Below is a step-by-step example demonstrating how to click the Facebook logo on the Password Recovery page and verify navigation to Facebook’s homepage.

package automationTesting;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class ClickImageExample {
    public static void main(String[] args) {
        // Define the URL of the web page
        String baseUrl = "https://www.facebook.com/login/identify?ctx=recover";
        
        // Set up the Chrome WebDriver
        System.setProperty("webdriver.chrome.driver", "G:\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        
        // Navigate to the Facebook Password Recovery Page
        driver.get(baseUrl);
        
        // Locate and click the Facebook logo (which acts as a link to the homepage)
        driver.findElement(By.cssSelector("a[title='Go to Facebook home']")).click();
        
        // Verify if the redirection was successful
        if (driver.getTitle().equals("Facebook - log in or sign up")) {
            System.out.println("Navigation successful: We are back on Facebook's homepage");
        } else {
            System.out.println("Navigation failed: We are NOT on Facebook's homepage");
        }
        
        // Close the browser
        driver.close();
    }
}

  • “Boost your Selenium automation skills by understanding how to handle image links with precise locators.”
  • “Optimize your Selenium test scripts by leveraging CSS Selectors and XPath for seamless image link interactions.”
  • “Enhance your web automation efficiency by learning the best practices for clicking image links in Selenium WebDriver.”
  • The script initializes ChromeDriver, which is essential for browser automation.
  • The WebDriver instance is directed to open the Facebook password recovery page.
  • The By.cssSelector() method is used to identify the Facebook logo link, which has a title attribute “Go to Facebook home”.
  • The click() method simulates a user clicking the image.
  • After clicking, the script checks if the page title matches “Facebook – log in or sign up”.
  • A success message is printed if the redirection occurs; otherwise, a failure message is displayed.
  • The driver.close(); command ensures the browser session ends after execution.

XPath provides another way to locate the image link. Below is an alternative way to achieve the same result using By.xpath().

// Using XPath to locate and click the image link
driver.findElement(By.xpath("//a[@title='Go to Facebook home']")).click();
  • When CSS Selectors are unavailable or complex.
  • When dealing with dynamic elements that lack fixed attributes.

  1. Prefer CSS Selectors: They are faster and simpler compared to XPath.
  2. Use Explicit Waits: To ensure the image is loaded before interacting with it.
  3. Validate Navigation: Always verify redirection using getTitle() or getCurrentUrl().
  4. Handle Dynamic Elements: If elements load asynchronously, use WebDriver’s wait mechanism.

Clicking on image links in Selenium WebDriver is straightforward when using By.cssSelector or By.xpath. This guide demonstrated how to:

  • Locate and click an image acting as a link.
  • Verify navigation success.
  • Use best practices for efficient automation.

By following these methods, you can seamlessly automate image interactions in any web application, improving your test coverage and reliability.


Leave a Comment

Index