Я пытаюсь запустить простой скрипт с использованием launchd в OS X 10.10.5, но это не удается. Я думаю, что это имеет какое-то отношение к разрешениям/привилегиям, которые не установлены правильно?Сбой сценария Python с использованием launchd и Selenium
Это код ошибки он подбрасывает:
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, что я HARDCODED в мой сценарий, поэтому я предполагаю, что на самом деле запуск программ запуск сценария в порядке, но проблема с драйвером 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>
Примечание: изменить время для этого кода для запуска в так запуск программ Я могу проверить.
Вы точно верны; отсутствие разрешений на то, что ваш скрипт не работает должным образом. Я бы предположил, что вы также включили .plist для запуска в свой вопрос. –
Спасибо за ваши отзывы, я добавил код p.list в исходный вопрос, любая идея, почему разрешения установлены неправильно и/или как/какой файл их устанавливать? – Kiwi
Запускаете ли вы это как launchagent или launchdaemon, а в каком каталоге находится .plist? –