作为一名在大型互联网公司任职的产品经理,在日常工作中经常会需要填一些公司用于考核研发人员的平台,比如工时、看板、任务等等。而这些平台往往需要填写的项目众多,而且填写的内容重复性非常大。因此,每周把填写各个平台所花的的时间加起来都要接近小半天了。所以为了节省这部分时间,我尝试用Python的Selenium库来实现一个自动化填写的脚本。
在实际操作过程中,发现公司的平台页面实际相当复杂,基本上遇到了在使用Selenium过程中会碰到的各种问题。因此想梳理此系列的文章,记录解决问题的思路也给大家一些参考。
由于Selenium的使用教程可以非常轻松的找到,所以在这个系列的文章中,我将只写在实际运用当中碰到的疑难杂症和问题解方,供大家参考。
启动浏览器
ChromeDrive 的存放位置
1. 启动Chrome的前提是需要下载与当前正在使用的浏览器的版本一致的[ChromeDrive](http://npm.taobao.org/mirrors/chromedriver/)版本,版本号前两位一致就可以。
2. 记得将ChromeDrive存放在与Python相同的文件夹内,否则无法启动浏览器。因此我建议搭建一个虚拟环境,在该虚拟环境下将Python、ChromeDrive放在一起。在实际开发中,将自动化所需要的所有库都安装在专用的虚拟环境中,也方便日后管理。搭建虚拟环境的方式为:
#安装virtualenv
pip install virtualenv
#进入想要安装虚拟环境的文件夹,再创建虚拟环境
virtualenv 环境名
#如果有多个Python版本,可以通过以下命令创建虚拟环境
virtualenv -p python路径 环境名
#启动虚拟环境文件夹名
/bin/activate
至此就可以在新创建的虚拟环境下开始自动化脚本的开发了。
如果需要退出虚拟环境则输入:
deactivate
启动Chrome
1. 首先在已经创建好的虚拟环境下安装selenium库:
pip install selenium
2. 安装成功后创建Python文件:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('链接')
尝试运行,注意运行的环境要是刚创建的虚拟环境。运行成功,就可以看到Chrome自动启动了。
3. 如果没有启动成功,若你使用的是公司内网和公司配的办公电脑,要考虑可能是网络和设备权限的问题。所以建议先使用自己的电脑和网络进行开发和测试,避免碰到各种难以解决的问题。