Sikuli терпит неудачу при щелчке изображения, потому что не может найти - PullRequest
0 голосов
/ 08 января 2020

Я попробовал несколько способов, но все еще получаю ошибку при попытке нажать на изображение. Мой код, как показано ниже:

public void sikuli() throws FindFailed, Exception {
        driver.switchTo().frame(driver.findElement(By.cssSelector("iframe[title='data visualization']")));

     Pattern pattern = new Pattern("lightsolution/Screenshots/C2.PNG").similar((float) 0.7);
     Screen screen = new Screen();
     try {

    screen.click(pattern); 

    }catch (FindFailed e) {
         e.printStackTrace();
     }
     driver.switchTo().defaultContent();
     }

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

Пробовал с screen.click (screen.wait (open, 10)); Также пробовал с

if(screen.find(pattern)!=null){ 
 screen.mouseMove(pattern); 
 screen.click(pattern); 

Ошибка:

FindFailed: can not find P(C:/Selenium/workspace/lightsolution/C2.PNG) S: 0.7 in S(0)[0,0 1366x768]
  Line 2189, in file Region.java

 at org.sikuli.script.Region.handleFindFailedShowDialog(Region.java:2189)
 at org.sikuli.script.Region.handleFindFailed(Region.java:2134)
 at org.sikuli.script.Region.wait(Region.java:2546)
 at org.sikuli.script.Region.find(Region.java:2205)
 at org.sikuli.script.Region.getLocationFromTarget(Region.java:3067)
 at org.sikuli.script.Region.click(Region.java:3534)
 at org.sikuli.script.Region.click(Region.java:3519)

Зависимость, которую я использую:

    groupId com.sikulix/groupId
    artifactIdsikulixapi/artifactId
    version1.1.0/version

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 08 января 2020

Попробуйте это -

  1. Попробуйте взять изображения из Sikuli IDE.
  2. Refre sh и очистите ваш проект после замены каждого изображения.
  3. Попробуйте указать полный абсолютный путь к изображению, не относительный, просто чтобы убедиться, что изображение идентифицируется или нет.
  4. Проверьте, правильно ли вы переключаетесь на кадры, прежде чем нажимать на шаблон.
  5. Установите время ожидания между переключениями кадров и щелкнув по шаблону.
  6. Sikui основан на изображениях, поэтому для разных разрешений компьютера вам нужны разные изображения.
  7. Убедитесь, что к портам вашего ноутбука ничего не подключено (зарядное устройство, наушники и т. д. c во время выполнения) -это лично помогает мне при работе с исключением FindFailed.

Надеюсь, это поможет.

...