使用以下代码,我尝试使用selenium webdriver捕获WebElement的屏幕截图。
WebElement ele1 = driver.findElement(By.xpath("//*[@id='main']/div[2]/div/div[2]"));
File screenshot1 = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
BufferedImage fullImg1 = ImageIO.read(screenshot1);
Point point1 = ele1.getLocation();
int eleWidth1 = ele1.getSize().getWidth();
int eleHeight1 = ele1.getSize().getHeight();
BufferedImage eleScreenshot1= fullImg1.getSubimage(point1.getX(), point1.getY(), eleWidth1,
eleHeight1);
ImageIO.write(eleScreenshot1, "png", screenshot1);
File screenshotLocation1 = new File("D:/personalloan.png");
FileUtils.copyFile(screenshot1, screens
hotLocation1);
但是,这会给出错误
(y + height)在Raster之外
答案 0 :(得分:0)
我在使用appium时遇到了这种问题。在那里,我需要旋转元素。但是,当我使用此代码时,它将截取元素的屏幕截图,该元素不会旋转,并且会出现此问题。所以我通过告诉appium始终以横向模式打开图像来解决问题。
我认为这样的事情也会发生在你身上。当你手动检查时,它是一种形式,但是当代码工作时它的形式不同。
所以请正确检查你的元素y坐标。