Java 使用无头Chrome拍摄视频截图时出现异常

Java 使用无头Chrome拍摄视频截图时出现异常,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,我正在尝试使用Selenium和Java拍摄视频截图。当我使用headed Chrome时,它可以正常工作,但是当我想使它无头时,会抛出一个“java.awt.image.RasterFormatException:(y+height)在光栅之外” getSubimage(point.getX(), point.getY(), eleWidth, eleHeight); 代码如下: ChromeOptions chromeOptions = new ChromeOptions(

我正在尝试使用Selenium和Java拍摄视频截图。当我使用headed Chrome时,它可以正常工作,但是当我想使它无头时,会抛出一个“java.awt.image.RasterFormatException:(y+height)在光栅之外”

    getSubimage(point.getX(), point.getY(), eleWidth, eleHeight);
代码如下:

    ChromeOptions chromeOptions = new ChromeOptions();
    chromeOptions.addArguments("--headless");
    chromeOptions.addArguments("--start-maximized");
    WebDriver driver = new ChromeDriver(chromeOptions);

    // Get URL and find image
    driver.get("https://www.webcamtaxi.com/en/netherlands/north-holland/purmerend-traffic-cam.html");
    Thread.sleep(5000);

    while (true) {
        WebElement ele = driver.findElement(By.id("insideCam"));

        // Get entire page screenshot
        File screenshot = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
        BufferedImage fullImg = ImageIO.read(screenshot);

        // Get the location of element on the page
        Point point = ele.getLocation();

        // Get width and height of the element
        int eleWidth = ele.getSize().getWidth();
        int eleHeight = ele.getSize().getHeight();

        // Crop the entire page screenshot to get only element screenshot
        BufferedImage eleScreenshot = fullImg.getSubimage(point.getX(), point.getY(), eleWidth, eleHeight);
        ImageIO.write(eleScreenshot, "png", screenshot);
    }

有人知道如何解决这个问题吗?

我不确定是否有办法解决这个问题。我接管了一个在无头浏览器中运行的测试套件,当我试图添加用于调试的屏幕截图时,我所能捕获的只是黑屏。必须移动到selenium网格,并在节点上引导浏览器以获取屏幕截图。