Appium App 在获取 H5 界面的控件时, 当前界面只能打印出 Native_APP

匿名 · 2016年12月05日 · 最后由 赵力新 回复于 2016年12月29日 · 1684 次阅读
class DianShang(object):

    def SetUp(self):
        desired_caps = Desired_Capabilities.startdevices()
        self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
        print u"设备配置成功"
        sleep(5)
        homeDshang = self.driver.find_elements_by_class_name("android.view.View")
        homeDshang[1].click()
        sleep(8)
        print self.driver.context
        self.driver.switch_to.context("WEBVIEW_com.android.browser")

背景:
界面时 H5 做得商品列表界面, 用 uiautomatorview 获取到的是一个整个屏幕
尝试切换到 webview 时, 在商品列表界面打印出来的只有 native_app,还是无法定位到具体的商品

打印出的信息报错:

ATIVE_APP
Traceback (most recent call last):
  File "C:/Pycharm/ManBoker/HomeDShang/ArticleList.py", line 28, in <module>
    DianShang().SetUp()
  File "C:/Pycharm/ManBoker/HomeDShang/ArticleList.py", line 21, in SetUp
    self.driver.switch_to.context("WEBVIEW_com.android.browser")
  File "D:\Python27\lib\site-packages\appium\webdriver\switch_to.py", line 31, in context
    self._driver.execute(MobileCommand.SWITCH_TO_CONTEXT, {'name': context_name})
  File "D:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 236, in execute
    self.error_handler.check_response(response)
  File "D:\Python27\lib\site-packages\appium\webdriver\errorhandler.py", line 27, in check_response
    raise NoSuchContextException(wde.msg, wde.screen, wde.stacktrace)
appium.common.exceptions.NoSuchContextException: Message: No such context found.

Process finished with exit code 1

问题:
怎么把界面转换到 webview?

共收到 5 条回复 时间 点赞
匿名 #1 · 2016年12月15日

你用的虚拟机吗?我当时用的真机 三星的 s7e 也是这个问题 后来换成小米他自己好了。。。至今不知道为什么

同问,有大神解决下吗

楼主解决了吗,解决的话说下怎么弄的

虚拟机是默认开启了调试模式所以能看到 WebView;真机你用谷歌浏览器进入调试模式预览一下,如果谷歌浏览器预览不到,就换个高一点的 Android 系统

楼主解决了吗?遇到了同样的问题

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