解决Chromedriver报错Original error: chrome not reachable
报错信息如下:
error: Chromedriver: Chromedriver exited unexpectedly with code null, signal SIG TERM info: Chromedriver: Changed state to 'stopped' warn: Chromedriver for context WEBVIEW_com.tencent.mm:tools stopped unexpectedly warn: Chromedriver quit unexpectedly, but it wasn't the active context, ignoring error: Chromedriver: Error: An error occurred (Original error: chrome not reacha ble (Driver info: chromedriver=2.18.343845 (73dd713ba7fbfb73cbb514e62641d8c96a9468 2a),platform=Windows NT 6.1 x86_64)) at JWProxy.command$ (lib/proxy.js:133:15) at tryCatch (D:\Program Files\Appium\node_modules\appium\node_modules\appium -chromedriver\node_modules\appium-jsonwp-proxy\node_modules\babel-runtime\regene rator\runtime.js:67:40) at GeneratorFunctionPrototype.invoke [as _invoke] (D:\Program Files\Appium\n ode_modules\appium\node_modules\appium-chromedriver\node_modules\appium-jsonwp-p roxy\node_modules\babel-runtime\regenerator\runtime.js:315:22) at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (D:\P rogram Files\Appium\node_modules\appium\node_modules\appium-chromedriver\node_mo dules\appium-jsonwp-proxy\node_modules\babel-runtime\regenerator\runtime.js:100: 21) at GeneratorFunctionPrototype.invoke (D:\Program Files\Appium\node_modules\a ppium\node_modules\appium-chromedriver\node_modules\appium-jsonwp-proxy\node_mod ules\babel-runtime\regenerator\runtime.js:136:37) at bound (domain.js:287:14) at GeneratorFunctionPrototype.runBound (domain.js:300:12) at run (D:\Program Files\Appium\node_modules\appium\node_modules\appium-chro medriver\node_modules\appium-jsonwp-proxy\node_modules\babel-runtime\node_module s\core-js\library\modules\es6.promise.js:89:39) at D:\Program Files\Appium\node_modules\appium\node_modules\appium-chromedri ver\node_modules\appium-jsonwp-proxy\node_modules\babel-runtime\node_modules\cor e-js\library\modules\es6.promise.js:100:28 at flush (D:\Program Files\Appium\node_modules\appium\node_modules\appium-ch romedriver\node_modules\appium-jsonwp-proxy\node_modules\babel-runtime\node_modu les\core-js\library\modules\$.microtask.js:17:13) at nextTickCallbackWith0Args (node.js:420:9) at process._tickDomainCallback (node.js:390:13) { [Error: An error occurred (Original error: chrome not reachable (Driver info: chromedriver=2.18.343845 (73dd713ba7fbfb73cbb514e62641d8c96a9468 2a),platform=Windows NT 6.1 x86_64))] status: 100, value: { message: 'chrome not reachable\n (Driver info: chromedriver=2.18.343 845 (73dd713ba7fbfb73cbb514e62641d8c96a94682a),platform=Windows NT 6.1 x86_64)' }, httpCode: 200 }
解决办法:修改Appium安装目录下的文件,例如:
D:\Program Files\Appium\node_modules\appium\lib\devices\android\android-hybrid.js
找到androidHybrid.startChromedriverProxy 函数,注释掉相关内容。
问题原因:
Appium第一次切换到Html页面时,会新生成一个Chromedriver;当第二次切换到Html时,会使用已经存在的Chromedriver。但其实在我们的应用里面每次打开一个Activity时一般都是会重新创建一个WebChromeClient,所以这里就把它改成无论如何都生成一个新的Chromedriver。
参考原文:http://laocaixw.github.io/2016/11/01/Appium测试Android混合应用时,第二次切换到WebView时的定位问题/?utm_source=tuicool&utm_medium=referral
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构