脚本通过终端工作但不与cron一起工作

时间:2017-08-01 11:59:21

标签: python cron

此测试脚本是复制我的问题的确切方案。

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运行时,为什么没有检测到元素?

是否与权限有关?

1 个答案:

答案 0 :(得分:0)

我认为你每秒都在运行你的cron工作。您可以检查/tmp/test1.txt的日期,以确保始终重新创建它。

我还认为您之前也应加载.profile,如下所示:

30 14 * * * . .profile; python /Users/user/Desktop/test.py