0

我有一个应用程序需要能够注销,唯一的方法是单击下拉菜单中的注销选项,但是我遇到了很多问题。

我已经使用 Sikuli IDE 捕获了屏幕截图,当我从 IDE 运行我的代码时,它工作得非常好。(代码点击菜单,然后退出)

但是,当我尝试从 Java 运行代码时,它似乎选择了菜单,然后当它尝试单击注销时,菜单消失了。

我的猜测是,由于某种原因,Java 在鼠标移到“注销”按钮之前将焦点放在鼠标上,当焦点移到鼠标上时,菜单会消失,就像在其他地方单击时一样。

我还尝试让 Sikuli 多次按下向下按钮以退出,但尝试时会发生同样的事情:菜单消失。

这是我的 Java 代码。Sikuli 代码具有相同的两个单击命令:

@Override
   public void logout()
   {
      click("loggedInIndicator.png");
      click("logoutButton.png");
   }

请帮忙!我找不到其他退出方式。

4

1 回答 1

0

我建议您打印 Sikuli 认为与元素最匹配的图像。我的猜测是它选择了与您要单击的元素无关的屏幕部分,从而使菜单消失。

Match element = region.find("loggedInIndicator.png")
Screen screen = element.getScreen()
String imagePath = screen.capture(element)

这会将 Sikuli 找到的元素的图像保存在系统临时目录中。由于它是一个临时文件,您当然必须将新创建的图像文件移动到另一个目录,以免它立即被删除。我发现这种情况在 Windows 上发生了好几次

于 2012-08-07T15:07:08.047 回答