How to Click href link in Selenium Java

Selenium is an open-source web-based automation tool that is implemented using a web driver. We will be using geckodriver because Selenium 3 enables geckodriver as the default WebDriver implementation for Firefox.

Pre-requisites:

  1. geckodriver.exe
  2. maven dependency selenium
 <dependency>
    <groupid>org.seleniumhq.selenium</groupid>
	<artifactid>selenium-java</artifactid>  
	<version>4.1.1</version> 
 </dependency>

Steps:

it's a  4 steps process:
  1. Set webdriver.gecko.driver and its' path as a system property.
  2. Set the firefox diver and browse to the website.
  3. Get the HTML Div anchor tag as Web-element using webdriver.findElement() function and css selector.
  4. Get the link and hit click.

Let’s see all the above steps in the code. We will use Webelment.click() function to hit click.

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;

public class ClickHrefLink {

        public static String GECKODRIVER_PATH ="F:\\WORK\\SeleniumShortTasks\\ClickHref\\src\\main\\resources\\geckodriver.exe";
        public static void main(String[] args) {
            //set firefox webdriver
            System.setProperty("webdriver.gecko.driver", GECKODRIVER_PATH);
            WebDriver driver = new FirefoxDriver();

            //get the firefox browser & Browse the Website for text
            String siteLink = "https://www.google.com.pk/search?q=java+file+not+found&sxsrf=ALiCzsaayoaw5Rv6IQgXaOa5HGmO_QFVKA%3A1659405207640&ei=l4PoYsXMJoKW9u8PtICe2A0&ved=0ahUKEwiF9MGPhqf5AhUCi_0HHTSAB9sQ4dUDCA4&uact=5&oq=java+file+not+found&gs_lcp=Cgdnd3Mtd2l6EAMyBQgAEIAEMgUIABCABDIFCAAQgAQyBQgAEIAEMgUIABCABDIFCAAQgAQyBQgAEIAEMgUIABCABDIFCAAQgAQyBQgAEIAEOgcIIxCwAxAnOgcIABBHELADOgQIIxAnOgoIABCxAxCDARBDOgQIABBDOgcIIxDqAhAnOgsIABCABBCxAxCDAToICAAQsQMQgwE6BwgAELEDEEM6BQgAEJECSgQIQRgASgQIRhgAUOAFWJkuYKAzaAJwAXgEgAG2AogB1jKSAQYyLTIyLjKYAQCgAQGwAQrIAQrAAQE&sclient=gws-wiz";
            driver.get(siteLink);

            //Get Href Div
            WebElement hrefDiv = driver.findElement(By.cssSelector("div.yuRUbf"));
            //Get element with tag a = First Link
            WebElement link = hrefDiv.findElement(By.tagName("a"));
            link.click();
        }
    }

Output:

All resources used in this tutorial are attached:
  • source code
  • geckdriver.exe
Download

Comments