Ошибка при взятии скриншота элемента

264
24 апреля 2017, 02:17

Здравствуйте. На сайте понадобилось заскринить каптчу, причем со страницы именно её. Вот страница:

Вот элемент, который надо заскринить:

Код, которым я забираю скрин, выглядит вот так:

 WebElement element = driver.findElement(By.cssSelector("#wizard > div > div.ofm-forms.autoba-addlot.step.step3 > div.ofm-forms-captcha > div"));
    File screen = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
    int ImageWidth = element.getSize().getWidth();
    int ImageHeight = element.getSize().getHeight();
    Point point = element.getLocation();
    int xcord = point.getX();
    int ycord = point.getY();
    BufferedImage img = ImageIO.read(screen);
    BufferedImage dest = img.getSubimage(xcord, ycord, ImageWidth, ImageHeight);
    ImageIO.write(dest, "png", screen);
    FileUtils.copyFile(screen, new File("captcha.png"));

После взятия элемента, вылетает exception:

Exception in thread "main" java.awt.image.RasterFormatException: (y + height) is outside of Raster
at sun.awt.image.ByteInterleavedRaster.createWritableChild(ByteInterleavedRaster.java:1248)
at java.awt.image.BufferedImage.getSubimage(BufferedImage.java:1202)
at Main.upBlank(Main.java:199)
at Main.main(Main.java:58)  

Я все никак не могу его исправить. Кстати, значения, которые получаются, выглядят так:

x = 459 y = 1034 widt = 130 height = 60  

P/s Заранее благодарен за ответ!

READ ALSO
В чём разница между «import java.util.*» и «import java.util.Scanner»

В чём разница между «import java.util.*» и «import java.util.Scanner»

Вместо Scanner может быть что угодно - суть яснаА именно: зачем использовать второй вариант, если первый и набирать короче, и пригодится когда...

225
Макет портфолио [требует правки]

Макет портфолио [требует правки]

Подскажите пожалуйста где можно найти бесплатные psd макеты для сайта портфолио (верстальщик)?

229
Можно ли сделать прозрачный для нажатий фон?

Можно ли сделать прозрачный для нажатий фон?

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

247
Как реализовать вывод блока div на конкретной странице

Как реализовать вывод блока div на конкретной странице

многоязычный сайт где три главные страницы и на каждой нужно вывести сообщение на её языкеКак это можно реализовать?

329