🌟想系统化学习爬虫技术? 看看这个:[数据抓取] Python 网络爬虫 - 学习手册-CSDN博客
0x01:Selenium 工具介绍
Selenium 是一个开源的便携式自动化测试工具。它最初是为网站自动化测试而开发的,类似于我们玩游戏用的按键精灵,可按照预先设定的指令进行自动化操作。但不同的是,Selenium 支持与所有主流的浏览器(如 Chrome、Firefox、Edge、IE 等)配合使用,当然,也包括如 PhantomJS、Headless Chrome 等一些无界面的浏览器。
Selenium 可以直接运行在浏览器中,模拟用户使用浏览器完成一些动作,包括自动加载页面、输入文本、选择下拉列表框中的选项、单机按钮、单机超链接等。
0x02:Selenium & WebDriver 环境配置
在使用 Selenium 抓取动态网页之前,我们需要在计算机上安装 Selenium 和配合它使用的浏览器驱动 WebDriver。为了避免在后续的网络爬虫程序中重复指定 WebDriver 的执行路径,我们还需要为 WebDriver 配置环境变量。
0x0201:环境配置 --- Selenium
Selenium 的安装十分简单,直接使用 pip
命令即可,具体的安装命令如下:
bash
pip install selenium==3.141.0

因为笔者的机器中是安装过了的,所以会出现 "Requirement already satisfied" 的字段,读者运行上述命令后应该会出现 "Successfully Installed Selenium" 字段。如果读者安装过慢,可能是 Python 镜像仓库的源没有换导致的,建议手动搜索 "Python 换源",将仓库源换为国内的。
另外,目前最新的 Selenum 应该已经到 4 版本了,但是 4 版本的 Selenium 语法相较于 3 有很大的改变,笔者后续的笔记是基于 3 版本的(够用了)。所以,如果后续你运行笔者的程序出错了,建议先排查一下自己安装的 Selenium 的版本信息。
0x0202:环境配置 --- WebDriver
WebDriver 即浏览器驱动程序,用于实现 Selenium 与浏览器之间的交互。不同的浏览器使用的驱动程序不同,常见的浏览器机器对应的驱动程序如下表所示:
浏览器 | 驱动程序 | 下载路径 |
---|---|---|
Chromium/Chrome | ChromeDriver | GoogelChromeDriver 下载(需要魔法) |
FireFox | GeckoDriver | GeckoDriver 下载 |
Edge | MicrosoftWebDriver | Microsoft Edge 下载 |
IE | IEDriverServer | IEDriverServer 下载 |
Opera | OperaChromiumDriver | |
Safari | SafariDriver |
Selenium+WebDriver 各浏览器驱动下载与使用 - 苏念雨 - 博客园Selenium + Python 之 WebDriver 驱动下载与使用 一、Firefox(火狐)浏览器驱动 下载地址:https://github.com/mozilla/geckodriver/releases/ 下载对应驱动:根据自己的操作系统下载相对应的驱动。 使用方法:把文件存放在 phttps://www.cnblogs.com/sunisnyu/p/18442541
需要注意的是,不同版本的浏览器驱动程序支持的浏览器版本也不同。我们在下载浏览器驱动程序之前,需要先查看当前浏览器的版本号(这也是为啥,明明程序没问题,但是死活无法打开浏览器的情况)。
接下来,笔者以 Chrome 浏览器为例,为大家演示如何安装 Chrome 浏览器的驱动程序。
1. 查看 Chrome 浏览器版本
打开 Chrome 浏览器,然后访问下面的页面,即可看到当前 Chrome 浏览器的内核版本:
bash
chrome://settings/help

2. 选择对应版本的 WebDriver
看到我们当前的浏览器版本 134.0 后,我们来到 Google Chrome 官方页面,查找对应的 Chrome:
bash
https://developer.chrome.google.cn/docs/chromedriver/downloads?hl=zh-cn

点击页面上的 "Chrome 115 及更高版本" 后它会跳转到如下界面,我们选择对应的版本 "134":
bash
https://googlechromelabs.github.io/chrome-for-testing/

如下,我们选择适合自己平台的对应版本的 Chrome Driver 即可,将链接复制下来直接访问,就可以下载了:

将下载下来的 ChromDriver 解压,可以看到里面包含一个 chromedriver.exe 程序,这个程序就是我们需要的 WebDriver 了,该 WebDriver 专门用于驱动 Chrome 浏览器:

3. 将 WebDriver 添加到环境变量中(可选)
在程序中使用 WebDriver 时,既可以显式地指定 WebDriver 所在的执行目录,也可以将 WebDriver 配置到系统环境变量中。将 WebDriver 配置到系统环境变量中以后,在程序中再次使用 WebDriver 时,就不需要重复指定 WebDriver 的执行路径了。下面笔者以 ChromeDriver 为例,为大家演示如何将 ChromeDriver 配置到环境变量中。
在系统中直接搜索 "环境变量",点击下面框出来的内容:

然后单机 "环境变量",在 "系统变量" 中找到 "Path" 变量,将我们解压的 ChromeDriver 的路径黏贴进去:

然后一路点击 "确定" 退出。最后,按下 Win + R 输入 CMD,打开命令行窗口,输入下面的内容,若命令后出现 ChromeDriver 当前的版本,则说明环境配置成功:
bash
chromedriver -version

0x03:Selenium & WebDriver 环境检测
当你按照上述流程配置完 Selenium & WebDriver 环境后,可以新建一个 .py
文件,并输入下面的代码尝试运行一下,如果能运行成功,那么恭喜你,可以开启 Selenium 自动化之旅了:
python
from selenium import webdriver # 导入 selenium 库
# 实例化一个浏览器对象
driver = webdriver.Chrome()
# 尝试访问 baidu.com
driver.get('https://www.baidu.com/')
# 让浏览器全屏
driver.maximize_window()
### 下面两个是用来关闭浏览器的,你可以依次取消注释然后运行看看
# driver.close() # 关闭当前页面
# driver.quit() # 退出浏览器
