How to use Selenium WebDriver on local webpage (on my PC) instead of one located somewhere online?
I want to use Selenium WebDriver on a webpage that I have on my hard disc. I've tried to something like:
selenium = new WebDriverBackedSelenium(driver, "C:\\...dispatcher.html");
...instead of the normal:
selenium = new WebDriverBackedSelenium(driver, "http://www.dunnowhattodo.org");
...but it doesn't work (I get the error "unknown protocol: c").
Solution 1:
Try using this method:
webdriver.get("file:///D:/folder/abcd.html");
(or)
selenium = new WebDriverBackedSelenium(driver, "file:///D:/folder/abcd.html");
Solution 2:
This can also be done with a relative file:
Path sampleFile = Paths.get("sample.html");
driver.get(sampleFile.toUri().toString());
Solution 3:
When you call the driver.get(URL) method, WebDriver looks for HTTP request using as base javascript, Therefore, refering to a website as a path, that task won't be possible.
But it will be possible if you : 1st- Install Apache WebServer (let's say) on your marchine. 2nd- Upload or expose to the WebServer, that web application (dispatcher.html) 3rd- Try recording and executing your testcases on [http://localhost:8080/dispatcher.html] (8080 is the default port but you can configure it to other).
Solution 4:
You can always drag and drop html file from your PC on open web browser during selenium session and see how file path looks. In my case it is:
webdriver.get("file:///C:/Users/Desktop/Some%20%E2%80%93%20file%20on%20the%20PC.html")
Solution 5:
For those of us using java.nio
, we can also do the following:
webdriver.get("file:\\\\\\" + filePath);
...where filePath
is an object of type java.nio.file.Path
and represents an absolute path.