2016-07-21 3 views
0

С помощью приведенного ниже кода я пытаюсь захватить снимок экрана WebElement с помощью selenium webdriver.Ошибка веб-сайта при скриншоте

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); 

Но это дает ошибку

(у + высота) находится за пределами Растр

+0

Какая ошибка? – kotoj

+0

Ошибка (y + height) находится вне растра – Eliyas

ответ

0

я сталкиваются с такой проблемой в то время как я использовал appium. Там мне нужно повернуть элемент. но когда я использую этот код, он сделает снимок экрана, который не будет вращаться, и эта проблема возникает. поэтому я исправил проблему, указав appium, чтобы всегда открывать изображение в ландшафтном режиме.

Я думаю, что некоторые вещи, как это происходит также в u. когда u проверяет вручную, он находится в форме, но когда код работает, он имеет разную форму.

поэтому, пожалуйста, проверьте ур элемент y координируйте правильно.

+0

Но, я беру снимок экрана веб-элемента, а не изображение – Eliyas

+0

мой appolozy, я обновил ответ. – noor

Смежные вопросы