手把手在CentOS7上搭建Selenium自动化环境:Chrome 103 + ChromeDriver 配置避坑全记录

张开发
2026/5/5 1:23:09 15 分钟阅读
手把手在CentOS7上搭建Selenium自动化环境:Chrome 103 + ChromeDriver 配置避坑全记录
在CentOS7上构建稳定Selenium环境Chrome 103与ChromeDriver精准配对指南当你在CentOS7服务器上部署Selenium自动化测试环境时最令人头疼的莫过于浏览器与驱动版本不匹配的问题。本文将带你一步步解决这个痛点从老版本Chrome的安装到精确匹配的ChromeDriver配置最终通过Python脚本验证整个环境的可用性。1. 环境准备与问题诊断CentOS7作为企业级Linux发行版因其稳定性被广泛用于生产环境。然而当我们需要在其上安装最新版Chrome浏览器时往往会遇到GLIBC版本不兼容的问题。这主要是因为CentOS7自带的GLIBC版本较低而新版Chrome需要更高版本的GLIBC支持。首先我们需要确认系统基本信息cat /etc/centos-release uname -m常见的报错信息如下Package: google-chrome-stable (/google-chrome-stable_current_x86_64) Requires: libc.so.6(GLIBC_2.25)(64bit)这个错误明确告诉我们系统缺少GLIBC_2.25库。在CentOS7上升级GLIBC是极其危险的操作可能导致系统不稳定甚至崩溃。因此更安全的解决方案是安装兼容的老版本Chrome。2. 安装兼容的Chrome 103版本经过多次测试Chrome 103版本在CentOS7上表现稳定且兼容性良好。以下是具体安装步骤下载Chrome 103的RPM包wget http://dist.control.lth.se/public/CentOS-7/x86_64/google.x86_64/google-chrome-beta-103.0.5060.24-1.x86_64.rpm安装下载的RPM包sudo yum install ./google-chrome-beta-103.0.5060.24-1.x86_64.rpm验证安装google-chrome --version预期输出Google Chrome 103.0.5060.24 beta为防止自动更新导致版本不兼容建议禁用Chrome自动更新sudo yum-config-manager --save --setoptgoogle-chrome-stable.excludegoogle-chrome-stable3. 精确匹配ChromeDriver版本ChromeDriver与Chrome浏览器版本必须严格匹配否则Selenium脚本将无法正常运行。以下是查找和安装匹配版本的方法访问ChromeDriver官方索引页https://chromedriver.storage.googleapis.com/index.html查找与Chrome 103.0.5060.24匹配的ChromeDriver版本本例为103.0.5060.24下载并安装wget https://chromedriver.storage.googleapis.com/103.0.5060.24/chromedriver_linux64.zip unzip chromedriver_linux64.zip sudo mv chromedriver /usr/bin/chromedriver sudo chmod x /usr/bin/chromedriver验证安装chromedriver --version预期输出应包含ChromeDriver 103.0.5060.244. 配置无头模式与系统依赖在生产环境中我们通常需要以无头模式运行Chrome。这需要安装一些额外的系统依赖sudo yum install -y Xvfb libXfont Xorg sudo yum groupinstall -y X Window System Desktop Fonts sudo yum install -y google-noto-* fonts-*对于无头模式可以使用Xvfb创建虚拟显示Xvfb :99 -screen 0 1024x768x24 export DISPLAY:995. Python环境配置与测试验证确保Python环境已安装Selenium库pip install selenium下面是一个简单的测试脚本验证环境是否配置成功from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options Options() chrome_options.add_argument(--headless) chrome_options.add_argument(--no-sandbox) chrome_options.add_argument(--disable-dev-shm-usage) driver webdriver.Chrome(optionschrome_options) try: driver.get(https://www.example.com) print(页面标题:, driver.title) assert Example Domain in driver.title print(环境验证成功) finally: driver.quit()如果一切正常你将看到环境验证成功的输出。这表明你的CentOS7服务器已经成功配置了可用的Selenium自动化测试环境。6. 常见问题排查与优化即使按照上述步骤操作仍可能遇到一些问题。以下是常见问题及解决方案问题现象可能原因解决方案Chrome启动崩溃共享内存不足添加--disable-dev-shm-usage参数无法创建会话ChromeDriver版本不匹配检查并安装精确匹配版本字体显示异常系统缺少字体安装完整字体包页面加载超时网络或代理问题检查网络设置适当增加超时时间对于性能优化可以考虑以下配置chrome_options.add_argument(--disable-gpu) # 禁用GPU加速 chrome_options.add_argument(--window-size1920,1080) # 设置窗口大小 chrome_options.add_argument(--blink-settingsimagesEnabledfalse) # 禁用图片加载7. 生产环境部署建议在企业级应用中我们还需要考虑以下方面资源隔离使用Docker容器隔离测试环境避免影响主机系统日志收集配置详细的日志记录便于问题排查监控告警设置资源使用监控防止内存泄漏等问题并发控制合理控制并发测试数量避免系统过载一个典型的部署架构如下测试管理平台 → Selenium Grid → 多个CentOS节点 → Docker容器这种架构可以实现测试任务的分布式执行和资源的弹性调度。

更多文章