How to upload files using Selenium Webdriver?


We can upload files using Selenium Webdriver. This is achieved by the sendKeys method. We have to first identify the element which performs the file selection by mentioning the file path [to be uploaded].

This is only applied to an element having a type attribute set to file as a value along with the element tag name as input. The below html code shows the element with type = file value set.

Example

Code Implementation.

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;
public class WndsFileUpl{
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver",
      "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
      WebDriver driver = new ChromeDriver();

      //implicit wait
      driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

      //launch application
      driver.get("https://www.tutorialspoint.com/selenium/selenium_automation_practice.htm");

      // identify element
      WebElement m=driver.findElement(By.xpath("//input[@type='file']"));

      // windows file upload with file path
      m.sendKeys("C:\Users\Pictures\Logo.jpg");

      //browser close
      driver.close();
   }
}

Output

Updated on: 22-Nov-2021

4K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements