0

我找到了一个 UI 元素,它实际上是一个按钮,但显示为 AXUnknown。

该窗口显示在以下链接中: http ://s8.postimage.org/p7123rw85/screen.png

使用命令 click 不起作用,所以我想我会尝试一些不同的东西。

我试过的:

从这个元素中,我可以通过执行以下操作来获取元素的位置: get value of attribute "AXPosition"

然后我可以使用从中获得的坐标通过click at命令单击未知的 UI 元素。

更新

我现在也尝试过使用该perform action "AXPress" of命令。

tell application "System Events"

    tell process "SomeProcess"

        if (exists window "SomeWindow") then

            perform action "AXPress" of UI element 3 of UI element 6 of window "SomeWindow"

        end if
    end tell
end tell

这无济于事,我没有想法了。有没有人对这个问题有任何经验或知道这是否根本不可能完成?

4

1 回答 1

1

如果普通的 gui 脚本技术不起作用,那么作为最后的手段,您可以尝试击键。首先,您需要设置系统首选项以启用此技术。在此处检查窗口底部的“所有控件”按钮...系统首选项->键盘->键盘快捷键选项卡。启用此功能后,您可以使用选项卡按钮循环浏览窗口的各种 ui 元素。当您选择按钮时,请按空格键。因此,计算您需要按下才能到达按钮的选项卡数量,然后这样的事情可能会起作用。

set numberOfTabs to 3
set shortDelay to 0.2

tell application "Whatever" to activate
delay shortDelay
tell application "System Events"
    repeat numberOfTabs times
        keystroke tab
        delay shortDelay
    end repeat
    keystroke space
end tell

请注意,这不是很可靠,因为选项卡的数量可能并不总是一致的。你必须检查一下。

于 2012-09-19T06:04:04.043 回答