当我运行这段代码时,我得到了异常(java.nio.file.FileSystemException)
公共字符串getScreenShotAsBase64()抛出IOException {
File source = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
String path = System.getProperty("user.dir") + "/Screenshots/image.png";
FileUtils.copyFile(source, new File(path));
byte[] imageBytes = IOUtils.toByteArray(new FileInputStream(path));
return Base64.getEncoder().encodeToString(imageBytes);
}
当我试图运行方法时,它不工作,抛出异常。
1条答案
按热度按时间hmae6n7t1#
问题的原因是Windows不允许你的应用程序打开“Screenshots/image.png”文件进行写入,因为其他程序已经打开了该文件。它就是不允许。有关Windows文件锁定及其用途的概述,请参阅文件锁定。
此超级用户问答提供了许多方法来确定其他哪个应用程序持有文件锁:
你在这种情况下使用 selenium (可能)不合适。
您很可能需要执行以下操作之一来解决此问题。