У меня есть следующий контейнер, работающий в Windows
docker pull selenium/standalone-chrome
docker run -d -p 4444:4444 -v /dev/shm:/dev/shm selenium/standalone-chrome
Программа делает снимок экрана с веб-сайта и записывает его в файловую систему Docker, но я не вижу этот файл в папке /dev/shm. Я также не вижу никаких ошибок при выполнении программы.
//Uses Selenium Grid Hub, the browser is running with a Docker container
//docker pull selenium/standalone-chrome
//docker run -d -p 4444:4444 -v /dev/shm:/dev/shm selenium/standalone-chrome
//http://localhost:4444/. It reflects Selenium Grid UI
@Override
public void run(String... args) {
try {
ChromeOptions chromeOptions = new ChromeOptions();
URL url = new URL("http://localhost:4444/wd/hub");
RemoteWebDriver driver = new RemoteWebDriver(url, chromeOptions);
driver.get("https://www.scaler.com/topics/");
log.info("Title: {} ", driver.getTitle());
pause(5);
boolean screenshotSuccessFlag = screenshot(driver, "screenshot.png");
driver.quit();
} catch (Exception e) {
log.error("An error occurred: {} ", e.getMessage());
}
}
private void pause(Integer seconds) {
try {
TimeUnit.SECONDS.sleep(seconds);
} catch (InterruptedException e) {
log.error("Exception while pausing for {} seconds: ", seconds);
}
}
private boolean screenshot(WebDriver driver, String pathname) {
try {
File src = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(src, new File(pathname));
return true;
} catch (IOException e) {
log.error("Error while taking screenshot: {}", e.getMessage());
return false;
}
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... um-program