OS X 10.10.5でlaunchdを使用して単純なスクリプトを実行しようとしていますが、ジョブが失敗します。私はそれが正しく設定されていないアクセス許可/権限と関係があると思いますか?launchdとSeleniumを使用してPythonスクリプトが失敗する
これは、それがアップスローエラーコードです:
Traceback (most recent call last): File "/Users/John/Documents/AutoRun/OpenTwitter.py", line 7, in driver = webdriver.Firefox() File "/Library/Python/2.7/site-packages/selenium-3.0.0.b2-py2.7.egg/selenium/webdriver/firefox/webdriver.py", line 64, in init self.service = 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", line 44, in init log_file = open(log_path, "a+") IOError: [Errno 13] Permission denied: 'geckodriver.log' Exception AttributeError: "'Service' object has no attribute 'log_file'" in
<bound method Service.__del__ of <selenium.webdriver.firefox.service.Service object at 0x10ca6bdd0>>
ignored
私は私が私のスクリプトにハードコードしましコンソールjob.outで「スクリプトを起動し、」印刷されたのですか、私はlaunchdのが実際であると仮定スクリプトを起動してもOKですが、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の中で実行するには、このコードのための時間を変更します私はテストすることができます。
あなたは正確に正しいです。権限が不足しているため、スクリプトが正しく実行されなくなります。あなたの質問にもlaunchdの.plistも含めることをお勧めします。 –
あなたのフィードバックをお寄せいただきありがとうございます。元の質問にp.listコードを追加しました。なぜパーミッションが正しく設定されていないのか、どのようにファイルを設定するのか – Kiwi
これをlaunchagentまたはlaunchdaemonとして起動し、どのディレクトリが.plistにありますか? –