我尝试了多种方法,但在尝试单击图像时仍然出现错误。我的代码如下:
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
任何帮助将不胜感激。
尝试此-
- 尝试从Sikuli IDE拍摄图像。
- 更改每个图像后刷新并清洁您的项目。
- [尝试给出整个图像的绝对路径而不是仅仅为了检查图像而获得是否被识别。
- 单击图案之前,请检查您是否正确切换到框架。
- 在切换帧和单击图案之间等待。
- Sikui是基于图像的,因此对于不同的计算机分辨率,您需要不同的图像。
- [在执行过程中检查您的笔记本电脑端口(充电器,耳机等)没有连接-这对于处理FindFailed异常很有帮助。
希望这会有所帮助。