[网络爬虫] 动态网页抓取 — Selenium 介绍 & 环境配置

🌟想系统化学习爬虫技术? 看看这个:[数据抓取] 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/ 下载对应驱动:根据自己的操作系统下载相对应的驱动。 使用方法:把文件存放在 p![](https://csdnimg.cn/release/blog_editor_html/release2.3.8/ckeditor/plugins/CsdnLink/icons/icon-default.png)https://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()   # 退出浏览器
相关推荐
代码的乐趣3 分钟前
支持selenium的chrome driver更新到137.0.7151.68
chrome·selenium·测试工具
q5673152317 分钟前
IBM官网新闻爬虫代码示例
开发语言·分布式·爬虫
狐5744 分钟前
2025-06-02-IP 地址规划及案例分析
网络·网络协议·tcp/ip
黎茗Dawn1 小时前
5.子网划分及分片相关计算
网络·智能路由器
恰薯条的屑海鸥1 小时前
零基础在实践中学习网络安全-皮卡丘靶场(第十四期-XXE模块)
网络·学习·安全·web安全·渗透测试
科技小E1 小时前
口罩佩戴检测算法AI智能分析网关V4工厂/工业等多场景守护公共卫生安全
网络·人工智能
御承扬2 小时前
从零开始开发纯血鸿蒙应用之网络检测
网络·华为·harmonyos
DevSecOps选型指南10 小时前
2025软件供应链安全最佳实践︱证券DevSecOps下供应链与开源治理实践
网络·安全·web安全·开源·代码审计·软件供应链安全
国科安芯11 小时前
抗辐照MCU在卫星载荷电机控制器中的实践探索
网络·嵌入式硬件·硬件工程·智能硬件·空间计算
EasyDSS12 小时前
国标GB28181设备管理软件EasyGBS远程视频监控方案助力高效安全运营
网络·人工智能