Java 如何在本地网页(在我的电脑上)上使用Selenium WebDriver,而不是在网上某处使用?

Java 如何在本地网页(在我的电脑上)上使用Selenium WebDriver,而不是在网上某处使用?,java,url,path,selenium-webdriver,Java,Url,Path,Selenium Webdriver,我想在硬盘上的网页上使用Selenium WebDriver。我试着做一些类似的事情: selenium=newwebdriverbackedselenium(驱动程序,“C:\\…dispatcher.html”); …而不是正常的: selenium=新的WebDriverBackedElenium(驱动程序)http://www.dunnowhattodo.org"); …但它不起作用(我得到了错误“unknown protocol:c”)。当您调用driver.get(URL)方法时

我想在硬盘上的网页上使用Selenium WebDriver。我试着做一些类似的事情:

selenium=newwebdriverbackedselenium(驱动程序,“C:\\…dispatcher.html”);
…而不是正常的:

selenium=新的WebDriverBackedElenium(驱动程序)http://www.dunnowhattodo.org");

…但它不起作用(我得到了错误“unknown protocol:c”)。

当您调用driver.get(URL)方法时,WebDriver使用作为基础javascript的HTTP请求,因此,将网站作为路径引用时,该任务将不可能完成

但如果您: 第一个-在您的marchine上安装ApacheWebServer(比方说)。 第二个-上传或公开到web服务器,即web应用程序(dispatcher.html) 第三-尝试在上记录和执行测试用例[http://localhost:8080/dispatcher.html](8080是默认端口,但您可以将其配置为其他端口)。

尝试使用以下方法:

webdriver.get("file:///D:/folder/abcd.html");
(或)


对于使用
java.nio
的用户,我们还可以执行以下操作:

webdriver.get("file:\\\\\\" + filePath);

…其中
filePath
是类型为
java.nio.file.Path
的对象,表示绝对路径。

这也可以通过相对文件完成:

Path sampleFile = Paths.get("sample.html");
driver.get(sampleFile.toUri().toString());

Selenium版本:3.141.59

使用此webdriver.get(“file:///D:/folder/abcd.html)获取失败


代替webdriver.get(“///D:/folder/abcd.html”)成功获取。

在selenium会话期间,您始终可以在打开的web浏览器上从PC拖放html文件,并查看文件路径的外观。就我而言,它是:

webdriver.get("file:///C:/Users/Desktop/Some%20%E2%80%93%20file%20on%20the%20PC.html")

它可能需要先使用
文件://
协议…您尝试过吗?没有,我没有尝试过:文件://C://。。。是这样吗?@Bartosz Wygledacz:是否可以以某种方式使用相对路径?@Pithikos否,但在使用windows时,可以使用环境变量,如%USERPROFILE%(主文件夹)和%APPDATA%(应用程序文件夹),在macOS上如何使用Safari?我无法从本地文件系统打开html文件。如果我使用file:///Users/pathToMyFile/index.html 在浏览器中手动执行。但是,如果驱动程序通过get方法打开它,它将不起作用。
webdriver.get("file:///C:/Users/Desktop/Some%20%E2%80%93%20file%20on%20the%20PC.html")