对于计划任务,我希望使用 python 脚本执行 selenium webdriver。
我尝试过以下解决方案:
但问题并没有得到解决。
chromdriver 的位置:
~/Documents/Python/Chromedriver/chromedriver
答案1
在 cron 中指定完整路径。
下一个 cron 任务包括:
DISPLAY
如果你不想使用,请指定变量来访问你的显示无头模式.使用$ env | grep DISPLAY
即可获得。PATH
变量并chromedriver
指定路径。我已复制chromedriver
到/usr/local/bin
- 完整路径
python3.8
- Python 脚本的完整路径
$ crontab -e
:
* * * * * export DISPLAY=:0; PATH=$PATH:/usr/local/bin; /usr/bin/python3.8 /home/user/PycharmProjects/seleniumtest/seltest.py build
在您的情况下,指定 chromdriver 位置的路径:
* * * * * export DISPLAY=:0; PATH=$PATH:/home/user/Documents/python/Chromedriver; /usr/bin/python3.8 /home/user/PycharmProjects/seleniumtest/seltest.py build
笔记:我使用以下参数在 PyCharm 中创建了一个 python 项目:
脚本取自这里:
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/