ChromeDriver识别Chrome版本异常:本地显示104却提示版本88
问题排查与解决
你遇到的情况是命令行查询Chrome版本为104,但自动化运行时识别到88版本,核心原因大概率是系统中存在多个Chrome版本,或运行脚本的上下文与当前root用户不一致,以下是具体排查和解决步骤:
1. 检查Chrome二进制文件的实际指向
先确认/usr/bin/google-chrome是否为软链接,以及它实际指向的文件版本:
ls -l /usr/bin/google-chrome
假设输出显示它是指向/opt/google/chrome/google-chrome的软链接,再检查该实际文件的版本:
/opt/google/chrome/google-chrome --version
如果实际文件版本是88,说明软链接指向了旧版本,需要重新创建软链接指向104版本的Chrome文件。
2. 验证脚本运行用户的Chrome版本
你当前是用root用户查询的版本,但脚本可能是用其他用户(如普通应用用户)运行的,切换到该用户下执行版本查询:
su - <脚本运行用户名> -c "/usr/bin/google-chrome --version"
如果该用户下显示的是88版本,说明该用户的环境中存在旧版Chrome,或PATH优先级指向了旧版本。此时可以给该用户配置正确的Chrome路径,或在脚本中明确指定Chrome二进制文件的路径。
3. 查找系统中所有Chrome二进制文件
系统中可能存在多个Chrome安装实例,执行以下命令找出所有相关文件:
find / -name "google-chrome" -type f 2>/dev/null | xargs -I {} {} --version 2>/dev/null
从输出中找到版本为88的文件路径,确认是否是脚本调用的目标,之后可以删除旧版本,或在脚本中指定104版本的路径。
4. 检查脚本中的Chrome配置
如果你的自动化脚本(如Selenium)中设置了ChromeOptions,确认是否指定了binary_location参数,若有则检查该路径对应的Chrome版本是否为88,修改为104版本的路径即可。
内容的提问来源于stack exchange,提问作者Ray
相关产品推荐
相关产品推荐

