Tuesday, 29 October 2013

How to click the link or web button in selenium web driver in java?


We can click any link or web button or any web element in a webpage by using click() method provided in Selenium webdriver API in JAVA.

Example -

WebElement e = driver.findElement(By.id("myid"));
e.click();

Above code will click on the element (link/button etc) whose id attribute value is - myid


Complete Example to click on button or link  using Selenium Webdriver in Java

Below example shows how we can click on any element in selenium webdriver in Java.

//import the required packages and classes.

import java.io.File;
import java.util.NoSuchElementException;
import java.util.Set;
import java.util.concurrent.TimeUnit;

import org.apache.commons.io.FileUtils;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.Keys;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Action;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

@SuppressWarnings("unused")
public class OpenGoogle {
    
public static void main(String [] arg) 
{

//set the path of the chrome driver exe file

System.setProperty("webdriver.chrome.driver", "C:\\Selenuim\\chromedriver2.8.exe");

//create the new instance of the chrome browser
WebDriver driver =  new ChromeDriver();


try{

//set the implicit and page load time outs  

driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
driver.manage().timeouts().pageLoadTimeout(50,TimeUnit.SECONDS);

//navigate to given url
driver.get("https://www.google.co.in/preferences");

//Maximize the browser window
driver.manage().window().maximize();

//identify the button or link element using id
WebElement e = driver.findElement(By.id("myid"));

//enter value in the editbox
e.click()


Thread.sleep(2000);

}

catch(Exception e){
 System.out.println("Exception - > " + e.toString());
 }
 finally{
  driver.close();
  driver.quit();
 }
} //main function ends
 
}//class ends


Above code will click the element with id attribute value is - myid

We can also click on the web element by using java script code as mentioned below.
((JavascriptExecutor) driver).executeScript("arguments[0].click()",e);


You may also like to read below topics.
  1. Press key in Selenium Webdriver in Java
  2. Read Table Data in Selenium Webdriver in Java
  3. Take the screenshot in Selenium Webdriver in Java
  4. Execute JavaScript in Selenium Webdriver in Java
  5. Handle multiple browser windows in Selenium Webdriver in Java
  6. Double-Click on the Element in Selenium Webdriver in Java
  7. Exceptions in Selenium Webdriver in Java
  8. Synchronization in Selenium Webdriver in Java

What do you think on above selenium topic. Please provide your inputs and comments. Thanks

No comments:

Post a Comment

Buy Best Selenium Books