Open In App

Difference Between get() and navigate() in Selenium

Last Updated : 03 Jul, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

An Automation tool that lets users automate the web page and test it on various browsers is known as Selenium. Selenium helps the users to load the web page through two different functions, i.e., get and navigate. Both of these functions have their advantages as well as disadvantages.

This article will compare the get and navigate functions in detail.

Difference-Between-get()-and-navigate()-in-Selenium
Difference Between get() and navigate() in Selenium

What is get() function in Selenium?

The get() function in Selenium WebDriver opens a specified URL in the browser. It initiates a new browser session and navigates to the given web address. Purpose of get() Method is used to direct the WebDriver to a web page specified by a URL. This method initiates a new browser session and loads the desired web page.

What is navigate() function in Selenium?

In Selenium WebDriver, the navigate() method is part of the WebDriver. Navigation interface and provides more advanced capabilities for navigating through the browser history compared to the get() method. It allows you to move forward and backward in the browser's history, refresh the current page, and navigate to a specific URL.

The purpose of navigate() Method is to navigate() method is used for more granular control over browser navigation. It includes functionalities for navigating to a URL, moving back and forth in the browser's history, and refreshing the page.

Difference Between get() and navigate() in Selenium

The following factors are considered to differentiate between the get and navigate functions in Selenium.

Factors

get()

navigate()

Interface Part

The get function is a part of the Webdriver interface.

The navigate function is a part of the Navigation interface.

Wait for webpage load

The get function waits until the webpage is loaded properly and available to return control.

The navigate function does not wait for the webpage to be loaded properly.

History tracking feature

The get function does not have the history tracking feature, thus enabling the user not to go back.

The navigate function has a history tracking feature. Thus, the user can go back to the previous web page too.

Refresh feature

The get function does not support the refresh feature.

The navigate function supports the refresh feature.

Forward feature

The get function does not support the forward function once the user has moved to the earlier webpage.

The navigate function supports the forward function and lets the user move to the next page once the user has moved to the earlier webpage.

Examples of get() and navigate() in Selenium

Now, we will explain the get() and navigate() functions with examples of both.

1. get() in Selenium

In this example, we have opened the Geeks For Geeks website (link) using the get function.

Java
//Importing the Selenium libraries
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class selenium3 {
    public static void main(String[] args) {
         
           //specify the location of the driver
           System.setProperty("webdriver.chrome.driver",
"C:\\Users\\Vinayak Rai\\Downloads\\chromedriver-win64\\chromedriver-win64\\chromedriver.exe");
     
           //Initialising the driver
           WebDriver driver = new ChromeDriver();
     
           //Launch the website
           driver.get("https://www.geeksforgeeks.org/");
       }
}


Output

Output of get() function in Selenium
Output of get() function in Selenium


2. navigate() in Selenium

In this example, we have opened the Geeks For Geeks website (link) using navigate().to() function. Then, we have refreshed the browser using navigate().refresh(), click on the element having the text 'Trending Now'. Moreover, we will now go back to the previous page using navigate().back() function and to next page using navigate().forward() function.

Java
// Using implicit wait
package selenium1;

//Importing selenium libraries
import java.util.concurrent.TimeUnit;

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

public class selenium6 {
    public static void main(String[] args) throws InterruptedException {
        
        // State the chromedriver URL  
        System.setProperty("webdriver.chrome.driver",
"C:\\Users\\Vinayak Rai\\Downloads\\chromedriver-win64\\chromedriver-win64\\chromedriver.exe");
                
        // Define and initiate the chrome driver
        WebDriver driver = new ChromeDriver();
                  
        // Open the Geeks For Geeks website
        driver.navigate().to("https://www.geeksforgeeks.org/");
        
        // Add implicit wait of 5 seconds
        driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
          
        // refresh the current browser
        driver.navigate().refresh();
          
        // Clicking of element having text Trending Now
        driver.findElement(By.linkText("Trending Now")).click();
        
        // Add implicit wait of 5 seconds
        driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
          
        // Go to previous web page
        driver.navigate().back();
          
        // Add implicit wait of 5 seconds
        driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
          
        // Go to next web page
        driver.navigate().forward();
        }
}


Output

Output of navigate() function in Selenium
Output of navigate() function in Selenium


Conclusion

In conclusion, get and navigate functions perform almost the same action. Most commonly, the get() function is used to open a web page as it waits for the web page to load properly. However, you can choose which function to use based on various factors stated in the article.


Next Article
Article Tags :

Similar Reads