crontab 在GUI环境下执行webdriver
条评论Linux下,大部分的问题都跟环境有关。
crontab也不例外。
我的需求:crontab定时执行脚本,依据条件启动webdriver(selenium)去浏览器上做一些操作,而且是周期性的。我使用的是splinter框架驱动业务。
需要解决:
1、系统具备gui运行的环境。
1 | yum install -y libXfont xorg-x11-fonts* |
2、sh脚本中在环境变量中增加
1 | export DISPLAY=:0 |
3、执行脚本中增加模拟,我的是python
1 | from pyvirtualdisplay import Display |
4、下载和安装浏览器及webderveir的驱动。
centos添加源
1 | vi /etc/yum.repos.d/google.repo |
添加如下内容
1 | [google] |
webderveir的略。
我的代码示例,有删减,留下的都是解决问题的核心代码:
脚本
1 | #!/bin/bash |
weixin_open_ip.py
1 | # -*- coding: utf-8 -*- |