[英]Linux crontab can not run with a graphical interface procedures?
linux crontab 不能運行帶有圖形界面的程序? 我完成了一個簡單的seleimun + chrome自動登錄程序,在測試運行的時候是可以運行的,但是在crontab定時,我寫了 ,並且寫了一個簡單的控制組,他沒有運行,我該怎么辦?
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time,sys
driver = webdriver.Chrome()
driver.get("https://stackoverflow.com/users/login?ssrc=head&returnurl=http%3a%2f%2fstackoverflow.com%2fusers%2f7197440%2fa83533774%3ftab%3dtopactivity")
elem = driver.find_element_by_xpath('//*[@id="email"]')
elem.send_keys("******")
elem = driver.find_element_by_xpath('//*[@id="password"]')
elem.send_keys("***")
elem.send_keys(Keys.RETURN)
time.sleep(5)
name = time.ctime().replace(' ','-')+'.png'
driver.save_screenshot(name)
time.sleep(5)
print 'end',time.ctime()
driver.close()
定時任務:
DISPLAY=:0 google-chrome
*/3 * * * * python ~/selenium_so.py >> log1.txt
*/1 * * * * date >> log.txt
我找到了這個答案,但是我如何練習他使用 crontab (python) 運行 selenium
感謝你的回答!
如果你想用 GUI 啟動一些東西,你必須指示 cron 將輸出發送到哪里:
* * * * * export DISPLAY=:0 && (your instruction)
我需要構建一個測試用例,看看這是否適用於 Selenium。 我不清楚此導出是否適用於由您的 python 腳本而不是由 cron 本身產生的進程。 但原則上,這將允許您使用 GUI 啟動進程。
對此有一些技巧,您需要成為用戶而不是一般的 root,因此請確保將其放在用戶 crontab 中,而不是 root 或 sudo crontab 中。
我建議使用 Webmin 這是一個很棒的 Linux 工具包(Web 界面)
檢查此鏈接:使用 Webmin 計划的 crontab
您的應用程序可能會使用一些環境變量,您可以從 /home/user1/.bashrc 文件中存儲環境變量
typeset -gx > /tmp/user1envvars
和 /etc/crontab 條目看起來像
* * * * * user1 /bin/bash -c 'source /tmp/user1envvars ; /path/to/your/app args..'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.