Я пытаюсь сделать два скриншота с разницей в 6 секунд, чтобы увидеть, есть ли какие-то изменения на веб-сайте.Сравнение двух скриншотов не работает правильно - java
Но мой код говорит мне, что скриншоты всегда разные, даже если я тестирую его без каких-либо изменений на экране.
что я делаю неправильно?
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension screensize = toolkit.getScreenSize();
Rectangle rectangle = new Rectangle(0,0,screensize.width,screensize.height);
Robot robot = new Robot();
BufferedImage image1 = robot.createScreenCapture(rectangle);
System.out.println("screenshot "+i+"");
Thread.sleep(6000);
BufferedImage image2 = robot.createScreenCapture(rectangle);
System.out.println("screenshot "+(i+10)+"");
int x1 = image1.getWidth();
int x2 = image2.getWidth();
if (x1 != x2) {
System.out.println("Widths are different: " + x1 + " != " + x2);
return;
}
int y1 = image1.getHeight();
int y2 = image2.getHeight();
if (y1 != y2) {
System.out.println("Heights are different: " + y1 + " != " + y2);
return;
}
for (int x = 0; x < x1; x++) {
for (int y = 0; y < y1; y++){
int p1 = image1.getRGB(x, y);
int p2 = image2.getRGB(x, y);
if (p1 != p2) {
System.out.println("Pixel is different at x/y " + x + "/" + y + ": " + p1 + " != " + p2);
return;
}
}
}
System.out.println("Images are identical");
В какой части код отличается от других? У вас есть довольно подробное сообщение ... – Thilo
в блоке if (p1! = P2). Пиксель отличается от x/y ..... , даже если на экране нет изменений –
@EmrahKarakoc Какие значения x/y? Это должно помочь вам сравнить изображения. Как сказал Тило может быть часы или что-то еще –