Невозможно полностью обрезать изображение широкоформатного баннера с помощью селена-вебдрайвера, только часть изображения обрезана - PullRequest
1 голос
/ 28 мая 2019

Я пытаюсь вырезать широкое изображение баннера с веб-страницы, которая находится в iframe, с использованием Selen Webdriver Java, но я могу получить только частичное изображение баннера после вырезания, используя приведенный ниже код.

Я попробовал ниже код, который дает мне только частичное изображение баннера.

 WebElement element = driver.findElement(By.xpath("//amp- 
 img[@class='img_ad 
 i-amphtml-layout-fixed i-amphtml-layout-size-defined i-amphtml-element 
 i-amphtml-layout']//img[@class='i-amphtml-fill-content i-amphtml- 
 replaced-content']"));
 File screen = ((TakesScreenshot) 
 driver).getScreenshotAs(OutputType.FILE);
 Point point = element.getLocation();
 int xcordinate = point.getX();
 int ycordinate = point.getY();
 int imageWidth = element.getSize().getWidth();
 int imageHeight = element.getSize().getHeight();
 BufferedImage img = ImageIO.read(screen);
 BufferedImage destination = img.getSubimage(xcordinate, ycordinate, 
 imageWidth, imageHeight);
 ImageIO.write(destination, "png", screen);
 File screenshotLocation = new 
 File("C:\\shots\\screenshotOfElement.png");
 FileUtils.copyFile(screen,screenshotLocation);

Пожалуйста, дайте мне знать, какие изменения я должен сделать в своем коде, чтобы получить полное изображение баннера после вырезания с использованием вышеуказанного кода.

...