You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Appium 1.7.2真机可切换WebView,模拟器切换失败报错求助

解决Appium 1.7.2模拟器无法切换WebView的问题

你遇到的这个问题核心原因很明确:Chromedriver版本和模拟器中Chrome浏览器的版本不兼容。从报错信息能看到,你当前用的Chromedriver 2.33要求Chrome版本必须≥60.0.3112.0,但模拟器里的Chrome版本达不到这个要求,导致启动Chromedriver会话失败,进而触发NoSuchContextException。

下面是一步步的解决方法:

  • 第一步:确认模拟器的Chrome版本
    打开模拟器里的Chrome浏览器,点击右上角菜单→「设置」→拉到最底部的「关于Chrome」,记下当前的版本号(比如59.0.xxx)。

  • 第二步:匹配对应版本的Chromedriver
    Chromedriver和Chrome的版本是严格对应的,大致规则是:

    • Chrome 60.x → Chromedriver 2.33
    • Chrome 59.x → Chromedriver 2.32
    • Chrome 58.x → Chromedriver 2.31
    • Chrome 57.x → Chromedriver 2.30
      根据你查到的Chrome版本,下载对应的Chromedriver。
  • 第三步:替换Appium内置的Chromedriver
    找到Appium安装目录下的Chromedriver位置:

    • Windows系统:通常在C:\Program Files\Appium\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win
    • Mac系统:通常在/usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac
      把下载好的对应版本Chromedriver替换掉原文件,注意保持文件名和原来一致(比如Windows下是chromedriver.exe,Mac下是chromedriver)。
  • 第四步:验证并调整配置(可选)
    重启Appium服务后重新运行测试代码。如果还是有问题,可以在Desired Capabilities里手动指定Chromedriver路径,确保Appium用的是你替换后的版本:

    ChromeOptions chromeOpts = new ChromeOptions();
    chromeOpts.setBinary("/你的Chromedriver文件路径");
    capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOpts);
    

另外一个小建议:如果模拟器的Chrome版本实在太旧,你可以尝试更新模拟器的系统镜像,或者直接下载对应版本的Chrome APK安装到模拟器里,这样能更灵活地控制Chrome版本,避免版本不兼容的问题。

内容的提问来源于stack exchange,提问作者Sanjay Bhatia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:30:14