2012-10-16 84 views
1

我需要獲取元素的座標{X,Y}以便生成一個點擊事件(我無法通過使用「click」來實現,因爲System Events有問題做到這一點,並返回:「缺失值」)。我將使用這些座標將它們傳遞給模擬鼠標點擊的命令行工具。Applescript - 獲取元素的座標

我該如何做到這一點?

回答

2

你能獲得ui元素的屬性嗎?我想即使你不能真正點擊它,你也可以。其中一個屬性應該是「位置」,另一個屬性是「大小」。這兩件事應該可以幫助您找到屏幕座標,以便您可以單擊該元素。

例如試試這個,看看屬性...

tell application "System Events" 
    tell process "Safari" 
     properties of UI element 1 of window 1 
    end tell 
end tell 

所以,如果我想知道該元素的中間的座標,以便您可以點擊它,這將讓你的X和Y點擊的座標...

tell application "System Events" 
    tell process "Safari" 
     tell UI element 1 of window 1 
      set p to position 
      set s to size 
     end tell 
    end tell 
end tell 

set xCoordinate to (item 1 of p) + (item 1 of s)/2 
set yCoordinate to (item 2 of p) + (item 2 of s)/2 
return {p, s, xCoordinate, yCoordinate} 
+0

謝謝。它按預期工作! ;) – KingBOB