我希望能够在Android上拍摄元素的照片,例如在有4幅画布的页面上,我想获得仅第三幅画布的屏幕抓取。然后我会在页面上做一些事情并使用sikuli来确保画布没有改变。我可以使用以下代码在桌面上执行此操作:
public void shootWebElement(WebElement element, AndroidDriver driver,String fileName) throws IOException {
File screen = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
Point p = element.getLocation();
int width = element.getSize().getWidth();
int height = element.getSize().getHeight();
BufferedImage img = ImageIO.read(screen);
BufferedImage dest = img.getSubimage(p.getX(), p.getY(), width,
height);
ImageIO.write(dest, "png", screen);
File f = new File(fileName);
FileUtils.copyFile(screen, f);
}
此代码在Android上运行,但我回来的图片不是该元素的图片,它是整个视图的部分图片(对于我用作参数的任何元素,此图片都是相同的)
有没有人知道解决这个问题?
答案 0 :(得分:0)
使用selendroid,不推荐使用AndroidDriver,不再维护。