Mac 下配置 Python3 和 Selenium3 环境

Selenium 是一套 Web 测试框架,Selenium2 中新增加了 Webdriver,可以用了测试 UI 层,控制浏览器执行爬虫等操作,而 chromedriver 是 Selenium 控制浏览的必要驱动。

一、安装 selenium

可以通过 pip 安装:sudo pip3 install selenium

也可以源码安装:selenium · PyPI

二、下载浏览器驱动

selenium 的三大浏览器驱动 Chrom、Firefox、IE

下载地址1:https://download.csdn.net/download/yilovexing/10480469

下载地址2:https://registry.npmmirror.com/binary.html?path=chromedriver/​​​​​​​

注意:浏览器版本要和驱动版本相对应

补充:

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' 报错也是这个版本问题导致的,可参考:python运行的unknown error: call function result missing 'value'_lxting21的博客-CSDN博客_call function result missing 'value

三、安装浏览器驱动

下载好驱动以后需要进行安装,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()

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值