【问题标题】:How can I create and run SikuliX scripts on MacOS?如何在 MacOS 上创建和运行 SikuliX 脚本?
【发布时间】:2021-05-08 06:02:20
【问题描述】:

我正在尝试在 MacOS 上使用 Sikuli 进行一些自动化操作。我从here 下载了SikuliX IDE 2.0.4,从here 下载了Jython 2.7.2,并按照文档中的说明将它们放在同一个目录中。

我正在运行 MacOS Catalina 10.15.7,这是 Java 版本:

java version "1.8.0_281" 
Java(TM) SE Runtime Environment (build 1.8.0_281-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.281-b09, mixed mode)

我可以打开 SikuliX IDE,但是当我单击“截屏”按钮时,所有应用程序都会最小化,包括我想要截屏的应用程序,即使我打开应用程序也会发生这种情况我想自动化并使用 SikuliX IDE 快捷方式截屏。

发生这种情况时,只有 SikuliX 菜单栏、背景和泊坞窗可见。即便如此,如果我尝试截取 docker 中的图标屏幕截图,SikuliX IDE 上打开的图像仅包含背景,就好像 docker 是透明的一样。

我尝试使用 MacOS 的默认工具截取屏幕截图,但在这种情况下,当我尝试运行像 click() 这样简单的指令时,脚本会崩溃。

这是尝试单击泊坞窗中的 Finder 图标的输出:

[error] script [ create_new_folder ] stopped with error in line 1
[error] FindFailed ( finder_icon.png: (86x78) in R[0,0 1680x1050]@S(0) )
[error] --- Traceback --- error source first
line: module ( function ) statement 
1: main (  <module> )     click("finder_icon.png")
[error] --- Traceback --- end --------------

我在 MacOS 上找不到很多关于 SikuliX 的资料。关于如何使用 SikuliX 在 MacOS 上截屏和自动化操作有什么建议吗?

【问题讨论】:

    标签: macos automation ui-automation sikuli sikuli-ide


    【解决方案1】:

    背后的原因:在标准 macOS 中现在阻止截屏。

    解决方案:这必须在 Prefs -> Security&Privacy -> Privacy -> ScreenRecording 中允许。

    【讨论】:

    • 非常感谢。这确实是IDE的问题。我的最终目标是能够修改一些 C# 包装器并尝试通过命令行运行一些指令。你知道我应该使用哪个神器在 MacOS 上实现这一目标吗?在 sikuliapi 2.0.4 上,我总是得到“SikuliX API:无事可做”,如果您愿意,我可以问一个新问题。无论如何,谢谢你,和 Sikuli 一起很棒的工作! :)
    • 您可以使用 -r 选项通过命令行运行 sikuli 脚本
    猜你喜欢
    • 1970-01-01
    • 2021-11-22
    • 2019-02-08
    • 2022-10-05
    • 1970-01-01
    • 2018-08-27
    • 1970-01-01
    • 2021-12-29
    • 2018-11-08
    相关资源
    最近更新 更多