此测试脚本是复制我的问题的确切方案。
import atomac, time
noront = atomac.getAppRefByBundleId(BUNDLE_ID)
noront.activate()
time.sleep(5)
ax = {'AXRole' : 'AXButton'}
toggle = noront.findAllR(**ax)
print "Toggle is ", toggle
with open("/tmp/test1.txt", 'w') as fp:
fp.write(str(toggle))
当我在终端中运行此脚本时,我得到输出
python /Users/user/Desktop/test.py
我跑完之后 cat /tmp/test1.txt
[<atomac.AXClasses.NativeUIElement AXButton u'I agree'>, <atomac.AXClasses.NativeUIElement AXButton u'I Accept'>, <atomac.AXClasses.NativeUIElement AXButton u'Pr P'>, <atomac.AXClasses.NativeUIElement AXButton None>, <atomac.AXClasses.NativeUIElement AXButton None>, <atomac.AXClasses.NativeUIElement AXButton None>]
但是,我为此添加了一个cron条目。
* * * * * sleep 10; python /Users/user/Desktop/test.py
我跑完后
cat /tmp/test1.txt
[]
它返回空集。有人可以帮助我,当我通过cron运行时,为什么没有检测到元素?
是否与权限有关?
答案 0 :(得分:0)
我认为你每秒都在运行你的cron工作。您可以检查/tmp/test1.txt
的日期,以确保始终重新创建它。
我还认为您之前也应加载.profile
,如下所示:
30 14 * * * . .profile; python /Users/user/Desktop/test.py