Can anyone let me know how to upload a file using Selenium by Java code?
When I click on button in the application it gets open in the new window what I can use to select upload file. The browse button developed by Silverlight (C#).
You can call sendKeys() on the file control to fill the file control with file path and then submit form. With this approach, no file dialog will be shown, you just bypass the file dialog and set the file path directly in the file upload control.
We can upload files to the browser with the help of Selenium webdriver. This is done with the help of sendKeys() method on the element which does the selection of the file by specifying the path of the file to be uploaded. While working on file upload functionality, we need to click on the Browse button.
First make sure that the input element is visible
As stated by Mark Collin in the discussion here:
Don't click on the browse button, it will trigger an OS level dialogue box and effectively stop your test dead.
Instead you can use:
driver.findElement(By.id("myUploadElement")).sendKeys("<absolutePathToMyFile>");
myUploadElement is the id of that element (button in this case) and in sendKeys you have to specify the absolute path of the content you want to upload (Image,video etc). Selenium will do the rest for you.
Keep in mind that the upload will work only If the element you send a file should be in the form <input type="file">
driver.findElement(By.id("urid")).sendKeys("drive:\\path\\filename.extension");
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With