cronでselenium実行したい
・・・動かない?
手動では実行できるのに、cronではエラーで実行されず。
$ sudo /etc/init.d/cron status
こんな感じでエラーがでた。
解決策
原因はここに書いてある内容だった。
環境変数DISPLAYが無いので、ブラウザ画面を表示できないでブラウザが起動できない、という事らしい。
cronを編集
$ crontab -e
cronのコマンド前に、DISPLAY=:0.0を追加。
これで解決した。
ブラウザ表示が不要ならchrome driverのoptionを--headlessモードにすればよいらしい。
CHROME_BIN = "/usr/bin/chromium-browser"
CHROME_DRIVER = '/usr/lib/chromium-browser/chromedriver'
options = Options()
options.binary_location = CHROME_BIN
options.add_argument('--headless')
driver = webdriver.Chrome(CHROME_DRIVER, options=options)