スケジュールされたタスクでは、Selenium Webdriverをpythonスクリプトで実行する必要があります。
私は次の解決策を試しました:
しかし、問題は解決していません。
Chromdriverの場所:
~/Documents/Python/Chromedriver/chromedriver
Cronでフルパスを指定します。
次のcronジョブには次のものが含まれます。
DISPLAY
変数を指定してディスプレイにアクセスします。取得するには$ env | grep DISPLAY
を使用してください。PATH
へのパスを指定したchromedriver
変数。 chromedriver
を/usr/local/bin
にコピーしましたpython3.8
への完全パス$ crontab -e
:
* * * * * export DISPLAY=:0; PATH=$PATH:/usr/local/bin; /usr/bin/python3.8 /home/user/PycharmProjects/seleniumtest/seltest.py build
あなたの場合、あなたのクロムドライバーの場所へのパスを指定してください:
* * * * * export DISPLAY=:0; PATH=$PATH:/home/user/Documents/python/Chromedriver; /usr/bin/python3.8 /home/user/PycharmProjects/seleniumtest/seltest.py build
注:次のパラメーターを使用してPyCharmでpythonプロジェクトを作成しました:
スクリプトは here から取得されます:
from Selenium import webdriver
from Selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("http://www.python.org")
assert "Python" in driver.title
elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source
driver.close()
さらに、いくつかのパッケージをインストールする必要があります。
$ Sudo apt install python3-pip
$ pip3 install Selenium
$ cd ~/Downloads
$ unzip chromedriver_linux64.Zip
$ Sudo cp chromedriver /usr/local/bin/