Chrome 115.XX.XX.XX版本移动端应用上下文切换失败求助
问题现象
当Chrome版本为115.0.5790.x时,移动端应用执行上下文切换操作失败,抛出错误:
Exception: CONTEXT SWITCHER: Exception while switching context: Message: An unknown server-side error occurred while processing the command. Original error: No Chromedriver found that can automate Chrome '115.0.5790'.
Stacktrace:
UnknownError: An unknown server-side error occurred while processing the command. Original error: No Chromedriver found that can automate Chrome '115.0.5790'.
已执行的排查操作:
- 环境路径中配置了ChromeDriver 115.0.5790.170
- 升级Selenium至4.11.2版本
- 升级Appium Python客户端至2.11.1版本
- 尝试使用ChromeDriver 114.x和115.x版本,问题未解决
解决方案
1. 确保ChromeDriver与Chrome/WebView版本精确匹配
Chrome 115.0.5790.x需要对应小版本完全一致的ChromeDriver,即使主版本号相同,小版本差异也会导致匹配失败。需确认移动端Chrome或应用内WebView的具体小版本(如115.0.5790.102),下载对应小版本的ChromeDriver替换现有驱动。
2. 显式指定ChromeDriver路径
避免依赖系统环境变量自动查找,在Appium的Desired Capabilities中直接指定ChromeDriver的完整路径:
desired_caps = { "platformName": "Android", "deviceName": "your_device", "appPackage": "your_app_package", "appActivity": "your_app_activity", # 显式指定ChromeDriver路径 "chromeDriverExecutable": "/absolute/path/to/chromedriver_115.0.5790.170" }
3. 重置Appium的ChromeDriver缓存
Appium会自动缓存ChromeDriver,旧缓存可能导致版本不匹配。手动删除缓存目录后重启Appium,让其重新下载匹配的驱动:
- Windows:
%USERPROFILE%\.appium\node_modules\appium-chromedriver\chromedriver\win - macOS:
~/.appium/node_modules/appium-chromedriver/chromedriver/mac - Linux:
~/.appium/node_modules/appium-chromedriver/chromedriver/linux
4. 检查移动端WebView版本
应用内的WebView版本可能与系统Chrome版本不一致,执行命令查看当前WebView版本:
# 查看Android系统Chrome版本 adb shell dumpsys package com.android.chrome | grep versionName # 查看应用使用的WebView版本 adb shell dumpsys webviewupdate | grep CurrentWebViewPackage
根据WebView的实际版本,选择对应的ChromeDriver。
5. 临时调整Chrome/WebView版本
若以上方法均无效,可尝试将移动端Chrome或应用内WebView降级到114.x版本,或升级到115.x的最新小版本,再配合对应版本的ChromeDriver测试。
内容的提问来源于stack exchange,提问作者Vybhav Sreshta

