簡體   English   中英

如何使用Java代碼和Sikuli單擊菜單項

[英]How to use Java code and Sikuli to click menu items

我有一個需要注銷的應用程序,唯一的方法是單擊下拉菜單中的注銷選項,但是我遇到了很多問題。

我已經使用Sikuli IDE捕獲了屏幕截圖,並且當我從IDE運行代碼時,它可以很好地運行。 (代碼單擊“菜單”,然后注銷)

但是,當我嘗試從Java運行代碼時,它似乎選擇了Menu,然后當它嘗試單擊Log out時,菜單消失了。

我的猜測是,由於某種原因,Java會將焦點放在鼠標上,然后再移至“注銷”按鈕;當焦點移到鼠標上時,菜單就會消失,就像單擊其他位置時一樣。

我還嘗試過幾次使Sikuli按下向下按鈕以注銷,但是嘗試時會發生相同的事情:菜單消失了。

這是我的Java代碼。 Sikuli代碼具有相同的兩個單擊命令:

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

請幫忙! 我找不到其他注銷方法。

我建議您打印Sikuli發現最適合這些元素的圖像。 我的猜測是它選擇了與您要單擊的元素無關的屏幕部分,從而使菜單消失了。

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

這會將Sikuli找到的元素圖像保存在System temp目錄中。 由於它是一個臨時文件,因此您肯定必須將新創建的圖像文件移動到另一個目錄,以便不會立即將其刪除。 我發現這在Windows上發生過幾次

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM