37

我想在我硬盘上的网页上使用 Selenium WebDriver。我试过类似的东西:

selenium = new WebDriverBackedSelenium(driver, "C:\\...dispatcher.html");

...而不是正常的:

selenium = new WebDriverBackedSelenium(driver, "http://www.dunnowhattodo.org");

...但它不起作用(我收到错误“未知协议:c”)。

4

6 回答 6

64

尝试使用此方法:

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

(或者)

selenium = new WebDriverBackedSelenium(driver, "file:///D:/folder/abcd.html");
于 2013-07-31T14:33:38.103 回答
5

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

Path sampleFile = Paths.get("sample.html");
driver.get(sampleFile.toUri().toString());
于 2016-12-29T23:00:45.337 回答
2

当您调用 driver.get(URL) 方法时,WebDriver 使用作为基本 javascript 的 HTTP 请求查找,因此,将网站称为路径,该任务将是不可能的。

但是,如果您: 1st- 在您的 Marchine 上安装 Apache WebServer(比方说),这将是可能的。第二-上传或公开到Web服务器,该Web应用程序(dispatcher.html)第三-尝试在[http://localhost:8080/dispatcher.html]上记录和执行您的测试用例(8080是默认端口,但您可以配置它给其他)。

于 2013-07-31T14:29:10.540 回答
2

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

webdriver.get("file:///C:/Users/Desktop/Some%20%E2%80%93%20file%20on%20the%20PC.html")
于 2020-04-30T18:57:51.167 回答
1

硒版本:3.141.59

使用这个 webdriver.get("file:///D:/folder/abcd.html") 会失败。

而不是 webdriver.get("///D:/folder/abcd.html") 获得成功。

于 2020-04-23T07:51:40.033 回答
1

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

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

... wherefilePath是一个类型的对象,java.nio.file.Path代表一个绝对路径。

于 2016-10-14T20:46:09.887 回答