Appium appium 进行微信自动化,切换 webview,报错 “chrome not reachable”

pepper · 2018年05月23日 · 最后由 Cvbnx 回复于 2018年11月29日 · 3395 次阅读

报错:

已尝试解决方案:
1.关闭代理,不可行
2.换 appium 下的 chrome 版本,使之与手机浏览器内核一致,不可行
3.加代码 ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("androidProcess","WEBVIEW_com.tencent.mm:tools");
capabilities.setCapability("ChromeOptions", options);混合 app 通过,微信自动化仍然报错
4.注释 android-hybrid.js 相关语句,不可行
求大神解决!!!在线等

共收到 23 条回复 时间 点赞

等大神😀

pepper #23 · 2018年05月23日 Author
huan 回复

参考了,尝试了很多种方法,都不行😂

pepper 关闭了讨论 05月23日 17:39
pepper 重新开启了讨论 05月23日 17:39

我就在前几天还在纠结你这个一模一样的问题,华为 mate10 手机会报这个错,用 vivo 就不会。最最关键的来了,我发现切换到小程序页面里面去 ,居然不需要切换 webview。你可以看我在另外一个回帖。我打印了所有的 webview 发现只有原生 navicat 好像才有对应的内容。

Cvbnx 回复

不切换 context 直接定位定位不了的

pepper 回复

你可以尝试把所有 webview 内容输出使用 print(driver.page_source),你会发现 原生才有对应的字眼,输出的是安卓前端我也看不太懂,然后切换的时候你用这个 driver.find_element_by_xpath("//*[contains(@content-desc,'美食')]").click()。这这是 iyge 解决办法。至于使用谷歌浏览器 inspect 中定位元素那样 我还没找到办法。 你这个问题跟我的应该是一样的 如果你纠结为什么报错 chrome not reachaable 话 你可以换个手机试下, 我换了手机 发现同样的代码 就可以切换 但是还是不能定位元素

pepper #17 · 2018年05月24日 Author
Cvbnx 回复

我使用过虚拟机,OPPO R9m,xiaomi5,三星 9209 都不行,我想测的小程序 content-desc 这个为空,请问下你用的什么手机?

pepper 回复

我用的 vivo 手机 然后测试的小程序是美团外卖小程序,我刚刚在论坛看到 说我切换进 webview 看到的是 andord 前端代码可能是由于没有切换 handle 原因 我再看看

pepper #15 · 2018年05月24日 Author
Cvbnx 回复

你用的 vivo 啊,我没有😂 ,这个问题搞得很崩溃

我前几天 也是 但是我还不敢肯定你这个是跟我一样的问题, 我也不知道为什么其他手机切换报错 我用的是 python 你这个应该是 java 吧?

pepper #13 · 2018年05月24日 Author
Cvbnx 回复

是的,我的是 java,你们用 appium 到项目了么,感觉不稳定啊

您好,请问我切换到对应的 context 里了 ,但是打印 handle,只有 1 个,可以加微信详聊

pepper 回复

也没, 我还在摸索学习阶段,恩感觉好像不太靠谱似的

笑哼 回复

对的 我也是切换了后只有一个 handle,哈哈哈

Cvbnx 回复

那你现在解决了没

没解决, 我直接不用切换 context ,具体看我上面

@pepper @xiaohengdada 有解决的吗?我这也是这样,头好大

pepper #20 · 2018年06月19日 Author
回复

没有,混合 app 是可以的,微信不可以,感觉 appium 还不够稳定

楼主解决了吗?我也碰到了这问题,app 都能切换 webview,微信小程序和公众号都不行。换 chromedriver 的 2.28 和 2.29 和微信的 57.0.2987.132 对应也都不行,加上小程序或公众号的进程'chromeOptions': {'androidProcess': 'com.tencent.mm:appbrand0'}也都不行,折腾了一天也搞不定。

回复

你这个问题解决了没有?
我也遇到这个问题,困扰了很久

Cvbnx 回复

想请问一下,我的连接之后,打开 chrome,地址栏输入 chrome://inspect/#devices,我打开的是微信小程序,看不到设备或者访问的资源,打开手机谷歌的话,才有一个 Chrome 显示,也没有显示小程序的 Webview 页面

我也有这样的问题,三星 S5 切换正常,小米 5 去切换 webview 时就报错了。

z1073336883 回复

我也很久没弄了 这个好像是要你链接 *** 连接国外服务器连通一次 操作这个的时候

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册