为要考虑写一个python应用, 查资料时无意发现老朋友selenium已经发展到和chrome很深入的阶段。
chrome为了配合自动测试的需求,甚至专门开发chromedriver这样的东西,一时技痒尝试了一下
环境是前面搭好的centos7
google.com/chrome是墙外无法访问了,幸好还有它自家分号
https://www.google.cn/chrome/
windows下访问自动判断给的是windows安装包,要拉到最下选择其他平台的,然后选择“64 位 .rpm(适用于 Fedora/openSUSE)”,得到的是一个
google-chrome-stable_current_x86_64.rpm
然后yum安装chrome以及中文字体
# yum install google-chrome-stable_current_x86_64.rpm
# yum install google-noto-sans-simplified-chinese-fonts
selenium略为麻烦,它要从python安装,要用到pip
pip又不在centos的标准repo里,我选择先安装epel源,
# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# yum install python2-pip python2-wheel
# pip install selenium
chromedriver自身地址也在墙外,幸好国内有个mirror
http://npm.taobao.org/mirrors/chromedriver
选择了上面最新的76.0.3865.10,虽然我下载的chrome版本以及到了76.0.3865.100
但大版本一致就没问题,下载后是个zip文件 chromedriver_linux64.zip
unzip 解压之得到一个单独的可执行文件 chromedriver
终于可以开始小福利一下,谁让csdn上python主和selenium下面最热的居然不是自动测试,而是各种福利呢
先解决chrome不能直接在centos服务器环境里启动的事
# export DISPLAY=192.168.0.102:0.0
## 服务器上没有安装Xserver,不过MobaXterm自带的有,很好很方便
# ./chromedriver &
# vim demo.py
然后在demo.py里输入代码, 为免广告嫌疑我把网址马赛克了
from selenium import webdriver
cap = webdriver.DesiredCapabilities.CHROME.copy()
browser = webdriver.Remote(command_executor="http://localhost:9515", desired_capabilities=cap);
browser.get('https://手工马赛克/tags-all.html')
福利截图被拦截了,没得妹子看
成功后地址栏下面有一行"Chrome is being controlled by automated test software"
对测试和爬虫需求来说,chrome还有个更强大的特性是headless模式,全程无窗口模拟真实浏览器
这次不打算往下撸了,有空再搞