我想在我硬盘上的网页上使用 Selenium WebDriver。我试过类似的东西:
selenium = new WebDriverBackedSelenium(driver, "C:\\...dispatcher.html");
...而不是正常的:
selenium = new WebDriverBackedSelenium(driver, "http://www.dunnowhattodo.org");
...但它不起作用(我收到错误“未知协议:c”)。
我想在我硬盘上的网页上使用 Selenium WebDriver。我试过类似的东西:
selenium = new WebDriverBackedSelenium(driver, "C:\\...dispatcher.html");
...而不是正常的:
selenium = new WebDriverBackedSelenium(driver, "http://www.dunnowhattodo.org");
...但它不起作用(我收到错误“未知协议:c”)。
尝试使用此方法:
webdriver.get("file:///D:/folder/abcd.html");
(或者)
selenium = new WebDriverBackedSelenium(driver, "file:///D:/folder/abcd.html");
这也可以通过相对文件来完成:
Path sampleFile = Paths.get("sample.html");
driver.get(sampleFile.toUri().toString());
当您调用 driver.get(URL) 方法时,WebDriver 使用作为基本 javascript 的 HTTP 请求查找,因此,将网站称为路径,该任务将是不可能的。
但是,如果您: 1st- 在您的 Marchine 上安装 Apache WebServer(比方说),这将是可能的。第二-上传或公开到Web服务器,该Web应用程序(dispatcher.html)第三-尝试在[http://localhost:8080/dispatcher.html]上记录和执行您的测试用例(8080是默认端口,但您可以配置它给其他)。
在 selenium 会话期间,您始终可以在打开的 Web 浏览器上从您的 PC 拖放 html 文件,并查看文件路径的外观。就我而言,它是:
webdriver.get("file:///C:/Users/Desktop/Some%20%E2%80%93%20file%20on%20the%20PC.html")
硒版本:3.141.59
使用这个 webdriver.get("file:///D:/folder/abcd.html") 会失败。
而不是 webdriver.get("///D:/folder/abcd.html") 获得成功。
对于我们这些使用 的人java.nio
,我们还可以执行以下操作:
webdriver.get("file:\\\\\\" + filePath);
... wherefilePath
是一个类型的对象,java.nio.file.Path
代表一个绝对路径。