How to Handle Modal Dialog Box in Selenium Webdriver 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 link.
  3. Get the accept button from dialog box as Web element using webdriver.findElement() function and CSS selector.
  4. Click the button to push the modal dialog box away.

Let’s see all the above steps in the code. We will use webelement.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;
import java.util.List;

public class HandleModalDialogBox {

    public static String GECKODRIVER_PATH = "F:\\WORK\\SeleniumShortTasks\\HandleDialogBox\\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
        String siteLink = "https://stackoverflow.blog/";
        driver.get(siteLink);

        //Get cookies Accept Button
        WebElement acceptBtn = driver.findElement(By.cssSelector("button#onetrust-accept-btn-handler"));
        //Click - accept all - cookies Button
        acceptBtn.click();

    }
}

Output:

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

Comments