Uploading files using Webdriver
Note: this answer applies to Selenium 2. Apparently, Selenium 3 changed the interface again.
If the file is on the same machine or a mapped network drive, this is actually really straightforward: You need to "type" the path to the file into the file upload control. Example:
driver = webdriver.Firefox() element = driver.find_element_by_id("fileUpload") element.send_keys("C:\myfile.txt")
In need to allow the transfer of the file from a local system to the remote system so it can be uploaded, you have to set a File Detector. Java example:
driver.setFileDetector(new LocalFileDetector()); WebElement upload = driver.findElement(By.id("myfile")); upload.sendKeys("/Users/sso/the/local/path/to/darkbulb.jpg");
Hope this helps!