genymotion 模拟器:android  5.0.0

python 2.7

appium 1.4.16.1

1、app原生元素定位(常用)

driver.find_element_by_id(“resourse-id”)

driver.find_element_by_name(“text”)

driver.find_element_class_name(“class”)

driver._find_element_by_accessibility_id("content-desc")

2、android+python+webview页面的定位

问题1):driver.contexts 的结果只有NATIVE_APP,无WEBVIEW

需要开发人员在对应的activity下增加代码,重新打包,开启webview远程调试的开关,且只针对android4.4及以上有用

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
     this.appView.setWebContentsDebuggingEnabled(true);
 }

问题2):获取webview的名字

contexts = .driver.contexts
for context in contexts:
    print context

问题3):切换到webview模式

driver.switch_to.context("WEBVIEW ")

问题4):切换回原生NATIVE_APP

driver.switch_to().context("NATIVE_APP")

问题5):webview的定位方式

1、手机需要安装谷歌浏览器,并打开app的网址;

2、在chrome中输入chrome://inspect/#devices,此时打开app页面

3、如果点击inspect为空白窗口,在hosts文件中添加如下地址:

61.91.161.217 chrome-devtools-frontend.appspot.com

61.91.161.217 chrometophone.appspot.com

4、然后cmd中输入命令:ipconfig /flushdns   刷新dns配置,再打开inspect

5、点击放大镜符号可以定位元素

3、此时可获取到webview的url,直接在chrome打开也可进行元素定位

 @{contexts}    Get Contexts
# Log Many @{contexts}
# ${cur_context} Get Current Context
# log ${cur_context}
# log 开始切换
# AppiumLibrary.Switch To Context NATIVE_APP
# log 切换成功
# ${cur_context} Get Current Context
# log ${cur_context}

webview元素定位的更多相关文章

  1. H5混合应用之webview元素定位工具

    一.工具选择 webview元素定位有三种方式: 使用driver.page_source方法,将获取到的页面内容写入到一个html文件中,然后使用浏览器打开html文件,使用F12调试用具进行元素定 ...

  2. Webview页面的控件元素定位

    前言 现在有很多App都是Hybrid的,即有原生的页面又有Webview的页面,元素的可以通过uiautomatorviewer工具 进行控件元素的定位,Webview页面的则无法通过此方式定位,而 ...

  3. Appium元素定位

    一.定位工具(UIAutomator) 运行系统条件:      1)Android Studio      2)系统版本:sdk 要求api18以及以上 打开:Android SDK  ---Too ...

  4. appium---android元素定位

    原文链接:https://www.cnblogs.com/meitian/p/6103391.html 一.常用识别元素的工具 uiautomator:Android SDK自带的一个工具,在tool ...

  5. robotium之webview元素处理

    今天写robotium脚本发现,用uiautomatorviewer定位百度贴吧的登录框是无法定位的,如图: 明显无法定位用户名.密码输入框,无法定位元素那就无法对控件无法操作 如何定位webview ...

  6. Robotium源码解读-native控件/webview元素的获取和操作

    目前比较有名的Uitest框架有Uiautomator/Robotium/Appium,由于一直对webview元素的获取和操作比较好奇,另外Robotium代码量也不是很大,因此打算学习一下. 一. ...

  7. appium 元素定位与操作:

    一.常用识别元素的工具   uiautomator:Android SDK自带的一个工具,在tools目录下 monitor:Android SDK自带的一个工具,在tools目录下 Appium I ...

  8. Appium Android 元素定位方法 原生+H5

    APPIUM Android 定位方式   1.定位元素应用元素 1.1通过id定位元素 Android里面定位的id一般为resrouce-id: 代码可以这样写: WebElement eleme ...

  9. appium===元素定位

    一.常用识别元素的工具 uiautomator:Android SDK自带的一个工具,在tools目录下 monitor:Android SDK自带的一个工具,在tools目录下 Appium Ins ...

随机推荐

  1. Docker入门5------生产力工具docker-compose

    参考: https://www.cnblogs.com/neptunemoon/p/6512121.html 待续 安装参见docker-compose官网: https://github.com/d ...

  2. 6、LwIP协议规范翻译——缓冲及内存管理

    6.缓冲及内存管理 在一个通信系统中,内存缓冲管理系统必须容纳各种大小的缓冲数据,其范围从包含具有数百个字节的数据的全尺寸TCP段到只有几个字节的短ICMP回复包.此外,为了避免拷贝,应该让数据内容缓 ...

  3. scrapy学习---管道

    使用管道必须实现process_item() 方法 process_item(self, item, spider) 次方法实现数据的过滤处理等操作 open_spider(self, spider) ...

  4. pandas 拆分groupby 应用某个函数apply 和聚合结果aggregate

    https://www.jianshu.com/p/2d49cb87626b df.groupby('A').size()

  5. phpcms列表页替换

    根据栏目代号获取栏目图 <img src="{$CATEGORYS[$top_parentid][image]}" width="1200" height ...

  6. 修改caffe层的一般流程

    https://blog.csdn.net/u012273127/article/details/78701161

  7. 记录在tiny6410平台上采用4GSD卡来启动uboot和烧写nand flash uboot

    下面这种方法是从网上转的 没有验证 环境:ubuntu 13.04一.首先制作sd启动盘: 插入SD卡    sudo dd iflag=dsync oflag=dsync if=tiny210v2- ...

  8. Kubernetes应用健康检查

    目录贴:Kubernetes学习系列 在实际生产环境中,想要使得开发的应用程序完全没有bug,在任何时候都运行正常,几乎 是不可能的任务.因此,我们需要一套管理系统,来对用户的应用程序执行周期性的健康 ...

  9. html5+PHP,websocket无法连接的问题(Call to undefined function socket_create())

    首先是配置文件的问题,打开extension=php_gd2.dll和extension=php_sockets.dll 扩展. 主要注意的是你当前系统使用的php版本和环境变量里面的php版本是否一 ...

  10. JAVA JDK 环境变量配置--简单图解

    Linux下的Jmeter运行测试 本文主要介绍Jmeter脚本如何在Linux通过no GUI的方式运行.总共分三部分: 1.Linux下JDK的安装及环境变量的配置 2.Linux下Jmeter的 ...