Selenium 是一套 Web 测试框架,Selenium2 中新增加了 Webdriver,可以用了测试 UI 层,控制浏览器执行爬虫等操作,而 chromedriver 是 Selenium 控制浏览的必要驱动。
一、安装 selenium
可以通过 pip 安装:sudo pip3 install selenium
也可以源码安装:https://pypi.python.org/pypi/selenium
二、下载浏览器驱动
selenium 的三大浏览器驱动 Chrom、Firefox、IE
下载地址:https://download.csdn.net/download/yilovexing/10480469
注意:浏览器版本要和驱动版本相对应
补充:
V2.29 V56-58
V2.30 V57-59
V2.31 V58-60
V2.32 V59-61
V2.33 V60-62
V2.34 V61-63
V2.35 V62-64
V2.36 V63-65
V2.37+ V66+
我的 chrome 版本是 v66 的,所以驱动选择 V2.37+ 以上 V2.4
unknown error: call function result missing 'value' 报错也是这个版本问题导致的,可参考:https://blog.csdn.net/lvxiaoting/article/details/79972431
三、安装浏览器驱动
下载好驱动以后需要进行安装,Mac 的命令都放在 /usr/bin 下,所以需要将 chromedriver 拷贝到本目录下
但是这里会有一个坑,当你拷贝时会报一个错 Operation not permitted(不允许操作),这是因为 Mac 系统启用了SIP(System Integerity Protection),导致root用户也没有修改权限。
我们可以屏蔽掉这个功能,具体做法是:
1.重启电脑
2.command + R 进入recover模式
3.点击最上方菜单使用工具,选择终端
4.运行命令csrutil disable
5.当出现successfully字样,代表关闭成功!
但是不推荐这样做,这是 Mac 的一个安全机制,是 Mac 抵御入侵的最后一道防线,所以我们变通,使用其他策略。
1. 在用户目录下新建 bin 目录
将配置文件拷贝到本目录下,然后配置环境变量即可
完成以上步骤验证安装是否成功,输入 chromedriver -v 出现版本号即代表成功
2. 还有一个更简单的方式
cp chromedriver /usr/local/bin/
将驱动拷贝到用户目录目录下即可 /usr/local/bin/
验证安装是否成功 chromedriver -v
四、测试配置是否成功
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--headless')
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get('https://www.baidu.com/')
print('打开浏览器')
print(driver.title)
driver.find_element_by_id('kw').send_keys('测试')
print('关闭')
driver.quit()
print('测试完成')
五、测试启动不同的浏览器
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
from selenium import webdriver
# 启动 Chrome 浏览器
driver = webdriver.Chrome()
# 启动 FireFox 浏览器
driver = webdriver.Firefox()
# 启动 IE 浏览器
driver = webdriver.Ie()
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("Selenium2")
driver.find_element_by_id("su").click()
driver.quit()