我试图在OS X 10.10.5中使用launchd运行一个简单的脚本但是作业失败了。我认为它与未正确设置的权限/权限有关?
这是它引发的错误代码:
追踪(最近一次通话): File" /Users/John/Documents/AutoRun/OpenTwitter.py" ;,第7行,在 driver = webdriver.Firefox() File" /Library/Python/2.7/site-packages/selenium-3.0.0.b2-py2.7.egg/selenium/webdriver/firefox/webdriver.py" ;,第64行,初始化 self.service =服务(executable_path,firefox_binary = self.options.binary_location) File" /Library/Python/2.7/site-packages/selenium-3.0.0.b2-py2.7.egg/selenium/webdriver/firefox/service.py" ;,第44行,初始化 log_file = open(log_path," a +") IOError:[Errno 13]权限被拒绝:' geckodriver.log' 例外属性错误:"'服务'对象没有属性' log_file'"在
<bound method Service.__del__ of <selenium.webdriver.firefox.service.Service object at 0x10ca6bdd0>>
忽略了
我确实得到了打印的&#34;启动脚本&#34;在我已经硬编码到我的脚本的控制台job.out中,所以我认为launchd实际上启动了脚本,但它遇到了Selenium / Firefox驱动程序的问题?这是我的权限问题发挥作用的地方吗?
它在IDE / run和终端中运行良好。
这是我尝试运行的测试代码:
#!/usr/bin/python
from selenium import webdriver
print("start script")
driver = webdriver.Firefox()
driver.get("https://twitter.com/search?q=news&src=typd&lang=en")
print("twitter open, done")
P.List如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>JohnsJob.job</string>
<key>Program</key>
<string>/Users/John/Documents/AutoRun/OpenTwitter.py</string>
<key>StandardErrorPath</key>
<string>/tmp/JohnsJob.job.err</string>
<key>StandardOutPath</key>
<string>/tmp/JohnsJob.job.out</string>
<key>StartCalendarInterval</key>
<array>
<dict>
<key>Hour</key>
<integer>10</integer>
<key>Minute</key>
<integer>14</integer>
<key>Weekday</key>
<integer>3</integer>
</dict>
</array>
</dict>
</plist>
注意:我更改此代码在launchd中运行的时间,以便我可以测试。
答案 0 :(得分:0)
我已经设法通过将geckodriver放在/ usr / bin中来实现它的工作
我认为无法找到驱动程序的PATH并停止脚本死机。