appium上下文切换webview调试以及chromedriver/键盘等报错问题解决
Posted 倪馒头
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了appium上下文切换webview调试以及chromedriver/键盘等报错问题解决相关的知识,希望对你有一定的参考价值。
1、切换上下文
contexts = self.driver.contexts #获取全部的上下文 self.driver.switch_to.context(contexts[-1]) #切换到webview页面
driver.switch_to.context(contexts[0]) #切换回Native页面
2、webview调试
前提条件:
1、手机与电脑连接,手机开启usb调试模式
2、可kexueshangwang
3、打开chrome://inspect/#devices即可,点击inspect可跟web自动化一样定位元素
3、切换iframe
这里讲述的是无法通过id、name进行定位的,(若有id、name可直接根据此进行切换),需要通过xpath定位到元素,再进行切换
iframe=self.driver.find_element(*loc)
self.driver.switch_to.frame(iframe)
4、chromedriver报错No Chromedriver found that can automate Chrome \'80.0.3987\'
下载对应版本的chromedriver,下载地址:http://chromedriver.storage.googleapis.com/index.html
在启动参数加上:
"chromedriverExecutable":r"D:\\appiumchromedriver\\chromedriver.exe"
5、键盘输入账号密码等后,由于没有收起键盘导致无法定位到搜索框或者登录按钮,报错
尝试使用网上的self.driver.hide_keyboard(),但还是不行,于是选择使用keyword,执行:
os.popen("adb shell input keyevent 66")
进行模拟输入法里的搜索按钮,已实验可解决问题
以上是关于appium上下文切换webview调试以及chromedriver/键盘等报错问题解决的主要内容,如果未能解决你的问题,请参考以下文章
Appium 不显示 webview 上下文,它只显示本机应用程序上下文。如何获取 webview 上下文?