我尝试在Java

时间:2015-09-13 07:17:01

标签: java exception selenium screenshot

我正在使用selenium并且我编写了一个方法来截取并将其保存在指定的文件夹中,但它不断抛出异常。为什么? 这是我的代码:

    public void takeScreenshot(WebDriver driver) throws IOException{
    Date date = new Date();
    String fileName = new SimpleDateFormat("MM-dd-yy_HH:mm:ss").format(date).concat(".jpeg");
    File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
    File destFile = new File(SCREENSHOTS.toString().concat(fileName));
    FileUtils.copyFile(scrFile, destFile);
}

我遇到以下异常:

Exception in thread "main" java.io.FileNotFoundException: C:\Screenshots\09-13-15_02:10:52.jpeg (The filename, directory name, or volume label syntax is incorrect)

3 个答案:

答案 0 :(得分:4)

显然你正在运行Windows,所以:

“A file name can’t contain any of the following characters: \ / : * ? " < > |”

答案 1 :(得分:2)

您使用:停止单独的时间,也许这是文件名不可接受的字符。尝试点,因为文件系统肯定接受点

答案 2 :(得分:2)

我没有看到你在你发布的代码中创建目标文件,下面的代码应该这样做。

File destFile = new File(SCREENSHOTS.toString().concat(fileName));
if (!destFile.exists()) {
     destFile.mkdir();
}

您可以查看this post了解详情。