Я делаю снимок экрана в своем проекте селена, используя метод ниже
public String getScreenShotUrl(String fileName, Information information) {
final String screenShotS3FolderName = "/test/s3"
final String apiHistoryScreenshotUrl = "/test/history"
new Thread(() -> {
File screenshot = ((TakesScreenshot) information.getDriver()).getScreenshotAs(OutputType.FILE);
contentHandler.moveScreenshotImageFileToS3(fileName, screenShotS3FolderName, screenshot);
}).start();
String crawlScreenshotUrl = apiHistoryScreenshotUrl + fileName + DOT_JPEG_FILE_EXTENSION;
information.getAllScreenShotUrls().add(screenshotUrl);
return crawlScreenshotUrl;
}
Я не храню файл где-либо внутри папки var/tmp
Я использую фаерфокс 83
водитель geco : 28
ОС: линукс
Проблема :
Я вижу много файлов png внутри
/var/tmp
screenshot18218906458183251330.png
Теперь уверен, что вызывает этот снимок экрана в моем firefox/selenium.
Это заполняет мой жесткий диск. Как мне запретить Firefox делать этот скриншот.
Не уверен, какая команда вызывает это . Я недавно обновился до firefox-83, но не уверен, что 83 является причиной этой проблемы.
Имеет смысл, что я запускаю сервер, поэтому jvm не может быть отключен
В соответствии с командой Rahul я явно добавил команду удаления. это решило проблему Добавление screenshot.delete() // Это удаляет файл явно, не дожидаясь выхода jvm
public String getScreenShotUrl(String fileName, Information information) {
final String screenShotS3FolderName = "/test/s3"
final String apiHistoryScreenshotUrl = "/test/history"
new Thread(() -> {
File screenshot = ((TakesScreenshot) information.getDriver()).getScreenshotAs(OutputType.FILE);
contentHandler.moveScreenshotImageFileToS3(fileName, screenShotS3FolderName, screenshot);
screenshot.delete() // This delete the file once it is moved to s3
}).start();
String crawlScreenshotUrl = apiHistoryScreenshotUrl + fileName + DOT_JPEG_FILE_EXTENSION;
information.getAllScreenShotUrls().add(screenshotUrl);
return crawlScreenshotUrl;
}
Поскольку вы используете OutputType.FILE . Он создает файл во временной папке. В соответствии с комментарием в коде «Получите снимок экрана во временный файл, который будет удален после выхода из JVM. Пользователи должны сделать копию этого файла». вам может понадобиться что-то написать для очистки папки tmp. stackoverflow.com/a/16691560/5324105