目录

一、Windows系统下安装

第一部分:安装Chrome浏览器

第二部分:下载与配置ChromeDriver

第三部分:验证测试

常见问题与总结

二、Linux服务器环境下安装

第一部分:手动下载RPM包安装(推荐)

第二部分:下载并安装chromdriver

第三部分:使用Selenium进行测试

常见问题与总结

三、阻止chrom浏览器自动更新(windows系统)

禁用Google更新服务


在进行Web自动化测试或数据爬取时,Selenium是一个强大的工具。而要使用Selenium操控Chrome浏览器,关键在于正确安装Chrome浏览器并配置与之版本匹配的ChromeDriver。本文将一步步指导你在Windows/linux系统上完成整个环境的搭建,并解决Chrome自动更新所带来的驱动版本问题。


一、Windows系统下安装

第一部分:安装Chrome浏览器

  1. 访问 Google Chrome 官方网站:https://www.google.cn/chrome/fallback/
  2. 点击“下载Chrome”按钮。
  3. 运行下载的安装程序,并按照提示完成安装。

注意:Chrome浏览器默认会自动更新。这意味着你的浏览器版本可能会在后台静默升级,导致已安装的ChromeDriver因版本不匹配而失效,从而使你运行的代码报错,这是配置过程中最常见的问题,需要重新下载与之匹配的chormedriver。


第二部分:下载与配置ChromeDriver

这是最关键的一步,核心在于版本匹配。

步骤1:查看Chrome浏览器版本

  1. 打开Chrome浏览器。

  2. 点击浏览器右上角的三个点 “帮助” -> “关于Google Chrome”。

  3. 在弹出的页面中,你将看到具体的版本号,例如 141.0.7390.78。请牢记主版本号 141。

步骤2:下载对应版本的ChromeDriver

推荐方法:使用 “Chrome for Testing” 镜像

这个官方提供的镜像站点包含了所有历史版本的ChromeDriver,确保你能找到与当前浏览器完全匹配的驱动。

  1. 访问 Chrome for Testing availability 站点:
    https://googlechromelabs.github.io/chrome-for-testing/

  2. 在页面中的 “Known Good Versions” 列表里,根据你刚才查到的主版本号(如141),找到对应的版本行。

  3. 在该版本行中,找到 windows32 或 windows64 的下载链接,点击下载ZIP压缩包

步骤3:放置ChromeDriver文件

下载ZIP包后,将其解压,你会得到名为 chromedriver.exe 的文件。接下来,你需要将它放在一个合适的位置。

有以下两种常见的放置方案,任选其一即可:

  • 方案A:放入Python安装目录(推荐给纯Python用户)
    将 chromedriver.exe 文件复制到你的Python解释器根目录(即 python.exe 所在的文件夹)。这样做的好处是,这个目录通常已经在系统的Path环境变量中。

  • 方案B:放入Anaconda的Scripts目录(推荐给Anaconda用户)
    如果你使用Anaconda管理Python环境,请将 chromedriver.exe 文件复制到Anaconda安装目录下的 Scripts 文件夹中(例如 D:\anaconda3\Scripts\)。这个目录同样在Anaconda环境的Path中。

步骤4:配置环境变量(可省略)

如果你选择了上述方案A或B,并且之前已经正确配置了Python或Anaconda的环境变量,那么通常可以跳过这一步,因为系统已经能够找到 chromedriver.exe。

如果遇到“找不到chromedriver”的错误,可以手动将其所在路径添加到系统Path中:

  1. 在Windows搜索栏输入“环境变量”,选择“编辑系统环境变量”。

  2. 点击下方的 “环境变量” 按钮。

  3. 在“系统变量”区域,找到并选中 Path 变量,点击 “编辑”。

  4. 点击 “新建”,然后将你放置 chromedriver.exe 的完整路径(例如 D:\anaconda3\Scripts\)添加进去。

  5. 点击 “确定” 保存所有更改。

重要提示:完成此步骤后,务必重新启动你的命令行终端(CMD、PowerShell)或IDE(如PyCharm、VSCode),以使新的环境变量生效。


第三部分:验证测试

 步骤1:下载Selenium

通过 pip 安装:

#直接pip install 因为是国外的资源直接下载超时报错,所以用了中科大的镜像(推荐)
pip install -i https://pypi.mirrors.ustc.edu.cn/simple/ selenium

步骤2:写一个简单的Python脚本进行测试。

  1. 创建一个新的Python文件,例如 test_chrome.py。

  2. 输入以下代码:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service

# 如果你的chromedriver在PATH中,可以直接这样初始化
driver = webdriver.Chrome()

# 打开百度首页
driver.get('https://www.baidu.com/')

# 打印页面标题,验证是否成功打开
print(f"页面标题: {driver.title}")

# 等待几秒,让你看到效果
input("按回车键关闭浏览器...")

# 关闭浏览器
driver.quit()
print("测试成功!浏览器已关闭。")

步骤3:运行python代码

在终端或pycharm中运行这个脚本。

成功标志:

  • 一个Chrome浏览器窗口会自动弹出并访问百度首页。

  • 控制台会打印出页面标题“百度一下,你就知道”。

  • 在按回车键后,浏览器自动关闭,并提示“测试成功!”。


常见问题与总结

  • 问题:出现 SessionNotCreatedException 错误,提示“This version of ChromeDriver only supports Chrome version XX”

    • 原因:这是最经典的版本不匹配错误。你的Chrome浏览器已经自动更新,但ChromeDriver还是旧版本。

    • 解决方案:按照本文第二部分的步骤,重新查看浏览器版本,并下载对应的ChromeDriver进行替换。

  • 问题:出现 WebDriverException 错误,提示“‘chromedriver’ executable needs to be in PATH”

    • 原因:系统找不到 chromedriver.exe 文件。

    • 解决方案:检查文件是否已正确放置在指定目录,并且该目录已在系统Path环境变量中。完成后重启终端。

总结:
配置Selenium Chrome环境的核心就两点:版本匹配和路径正确。只要牢记这两点,并熟悉在 https://googlechromelabs.github.io/chrome-for-testing/ 上寻找对应驱动的方法,你就能轻松解决大部分环境配置问题。

二、Linux服务器环境下安装

第一部分:手动下载RPM包安装(推荐)

liunx服务器环境(CentOS/Alibaba Cloud Linux)

  • 查找并下载RPM包:

访问 Chrome官方下载页面 或可信的第三方镜像站,找到最新稳定版的Chrome RPM包(例如 google-chrome-stable_current_x86_64.rpm),然后通过FTP、SCP等工具上传到您的服务器。
或者,直接使用wget尝试下载(如果网络可达):

wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
  • 使用Yum本地安装:
    手动安装RPM包,Yum会自动处理依赖关系:

sudo yum localinstall ./google-chrome-stable_current_x86_64.rpm
  • 查看浏览器版本:

在终端输入以下命令,再次确认Chrome版本

google-chrome --version

第二部分:下载并安装chromdriver

  • 下载chromdriver

用chrom浏览器的下载浏览器驱动,先查看浏览器的版本号

如上图Chrome版本是141,属于较新的版本。

最新版本的驱动在这个地址

Chrome for Testing availability,根据自己的版本(如上面版本141,后面的数字忽略)需求下载

  • 解压并放置驱动

使用以下命令解压下载的压缩包(请根据实际文件名调整):

unzip chromedriver-linux64.zip

解压后,你会得到一个名为 chromedriver 的可执行文件。将其移动到系统路径并设置权限:

sudo mv chromedriver /usr/local/bin/
sudo chmod +x /usr/local/bin/chromedriver

这步操作使得你可以在终端任何位置直接运行chromedriver命令。

  • 验证安装

在终端输入:

chromedriver --version

如果正确输出了版本号,说明驱动已经安装成功。

第三部分:使用Selenium进行测试

驱动安装好后,就可以使用Selenium来控制和操作Chrome浏览器。

  • 安装Selenium

可以通过pip安装Selenium库:

pip install selenium

如果需要安装特定版本,可以指定,例如:

pip install selenium==3.141.0

  • 编写测试脚本

    创建一个Python测试文件(例如 test_chrome.py),使用以下代码来测试Chrome与驱动是否协同工作正常。特别注意:Linux无图形界面的服务器环境,通常需要添加无头模式(--headless)等选项。

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# 配置Chrome选项(无图形化环境必须有)
chrome_options = Options()
chrome_options.add_argument('--headless')  # 无头模式,不显示图形界面
chrome_options.add_argument('--no-sandbox')  # 绕过OS安全模型,在root权限下有时需要
chrome_options.add_argument('--disable-dev-shm-usage')  # 限制/dev/shm使用,避免内存不足

# 初始化Chrome驱动
driver = webdriver.Chrome(options=chrome_options)

try:
    # 打开网页
    driver.get("https://www.baidu.com")
    # 打印页面标题
    print("页面标题:", driver.title)
    # 可以进行截图验证
    driver.get_screenshot_as_file('/tmp/test_screenshot.png')
    print("截图已保存至 /tmp/test_screenshot.png")
finally:
    # 关闭浏览器
    driver.quit()

这个脚本会在后台运行Chrome,访问百度首页并打印出页面标题,同时保存一张截图以供验证。

  • 运行测试脚本

在终端执行:

python test_chrome.py

如果一切正常,你将看到输出的页面标题,并且截图保存成功。

常见问题与总结

通过本文的步骤,你应该已经成功在Linux服务器上配置了完整的Chrome自动化测试环境。关键要点总结:

  1. 版本匹配:始终确保Chrome浏览器与ChromeDriver版本一致

  2. 无头模式配置:服务器环境必须使用--headless等参数

  3. 权限和路径:确保ChromeDriver在系统PATH中且有执行权限

  4. 资源管理:及时关闭浏览器驱动,避免资源泄露

三、阻止chrom浏览器自动更新(windows系统)

禁用Google更新服务


这是最推荐首先尝试的方法,能从根本上阻止更新的触发。

按 Win + R 键,输入 services.msc 并回车。

在服务列表中找到 Google 更新服务 (gupdate) 和 Google 更新服务 (gupdatem) 。

分别双击它们,将"启动类型"设置为"禁用",如果服务正在运行,点击"停止"按钮。

查看效果

更多推荐