ONE Goal , ONE Passion !
最近看了一下郑州的Python岗位,少的那叫一个可怜.人生苦短,道路不宽啊!
为什么要使用selenium + Chrome/Firefox.不是大家都用PhantomJS嘛. 我的测试发现不知道是什么原因,PhantomJS总是无缘无辜的出现bug. 可能是版本不兼容的问题吧.我选择了selenium + Chrome/Firefox. 有时候使用Chrome时,某些点击按钮模拟点击事会报错,说element is not clickable.(排除了上面有遮罩的情况),这是使用Firefox是可以的. 所以使用的使用看情况吧
第一步:
下载deb文件 可以去谷歌官网下载 https://www.google.cn/chrome/
拉到最下面 ‘其他版本下载’
第二步:
安装指令:
sudo dpkg -i google-chrome-stable_current_amd64.deb
安装过程可能有依赖错误.如:
dpkg: 处理软件包 google-chrome-stable (–install)时出错:
依赖关系问题 - 仍未被配置
第三步: 更新依赖包
(如果出现第二步中的错误,那么执行这步的指令)
sudo apt-get -f install
第四步: 查看是否安装成功
通过whereis google-chrome 查找安装路径
fengyan@ubuntu:~/桌面$ whereis google-chrome
google-chrome: /usr/bin/google-chrome /usr/share/man/man1/google-chrome.1.gz
说明安装成功.
第五步:
fengyan@ubuntu:~/桌面$ /usr/bin/google-chrome 即可打开
直接使用 pip install selenium.不再赘述.
http://npm.taobao.org/mirrors/chromedriver/这里下载驱动
下载后,将chromedriver文件放到/usr/bin 下
sudo mv chromedriver路径 /usr/bin
from selenium import webdriver
firefox = webdriver.Chrome()
firefox.get('https://www.douban.com/')
login_xpath = '//input[@class="bn-submit"]'
firefox.find_element_by_xpath(login_xpath).click()
//....
注意: 如果chrome被打开后,出现错误
–ignore-certificate-errors.. 原因是:
google-chrom的版本和chromedriver版本不兼容
解决:
chrome://version/ 查看谷歌版本
65.0.3325.162 (正式版本) (64 位)
chromedriver –version
ChromeDriver 2.37.543619 (a237acd3116cac3b3f0da42a000502ce3fafcb23)
这两个版本可以兼容