gpt4 book ai didi

java - 使用 Selenium 截取特定元素

转载 作者:行者123 更新时间:2023-11-29 09:28:23 25 4
gpt4 key购买 nike

注意:我知道这个问题之前已经被问过几次,但是我遇到了其他人似乎没有的问题。

尽管我似乎正确地获取了元素的点及其宽度和高度,但最终裁剪是不正确的。就像我截取的屏幕截图与网页有不同的尺寸一样。我正在使用 Chrome 驱动程序。

这是我尝试获取 Google Logo 图像的屏幕截图的代码:

WebDriver driver = new ChromeDriver();
driver.get("http://www.google.com");
WebElement ele = driver.findElement(By.id("hplogo"));
//Get entire page screenshot
File screenshot = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
BufferedImage fullImg = null;
try {
fullImg = ImageIO.read(screenshot);
} catch (IOException e) {

}
//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);
try {
ImageIO.write(eleScreenshot, "png", screenshot);
} catch (IOException e) {

}
//Copy the element screenshot to disk
File screenshotLocation = new File("/Users/M/Desktop/stuff/logo.png");
try{
FileUtils.copyFile(screenshot, screenshotLocation);
}catch(IOException e){

}

这是我最终的标志图片: enter image description here

这是它应该得到的(就像 png 而不是 gif): enter image description here

有人知道会发生什么吗?

最佳答案

检查您的操作系统是否有自定义缩放。我在 Windows 上使用 125% 缩放时遇到了同样的问题。

关于java - 使用 Selenium 截取特定元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37926207/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com