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. DbSet<T>().Where(e => true)之后再想Include怎么办?

    DbSet<T>().Where(e => true)之后再想Include怎么办? 引用:https://www.cnblogs.com/godbell/p/7348411.htm ...

  2. 将 ASP.NET Core 2.0 项目升级至 ASP.NET Core 2.1 RC 1

    今天微软发布了 .NET Core 2.1 RC 1 ,虽然只是 Release Candidate 版,但已经可以在生产环境中使用. NET Core 2.1 RC is supported by ...

  3. js 循环list

    $.ajax({ type : "POST", data:{ createStartTime:'', createEndTime:'' }, url : "<%=r ...

  4. java框架之SpringBoot(7)-异常处理

    前言 在 SpringBoot 项目中,默认情况下,使用浏览器访问一个不存在的地址会返回如下错误页面: 而当客户端未非浏览器时,错误信息则会以 json 数据返回,如下: 会出现如上效果的原因是 Sp ...

  5. IDEA eclipse转maven

    在pom.xml 文件上右键 Add as Maven Project

  6. HDU 3078 Network(LCA dfs)

    Network [题目链接]Network [题目类型]LCA dfs &题意: 给出n个点的权值,m条边,2种操作 0 u num,将第u个点的权值改成num k u v,询问u到v这条路上 ...

  7. windows程序设计 获取系统文件路径

    获取系统文件路径,打印到txt文件中. #include <windows.h> int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hP ...

  8. Ansible学习实战手记-你想要知道的可能都在这里了

    最近接触了ansible工具,查找了一些资料,也做了一些总结.希望能给刚接触的新手带来一些帮助. 此总结有实际例子,大部分也是从实践中用到才逐一总结的. 当然可能肯定一定会存在一些错误和纰漏,还望大家 ...

  9. Unity之显示fps功能

    如下: using UnityEngine; using System.Collections; public class ShowFpsOnGUI : MonoBehaviour { public ...

  10. Py't'hon之csv,ini&序列化,反序列化

    1.csv文件简介 csv是一个被行分隔符,列分隔符划分成行和列的文本 csv不指定字符编码 行分隔符为\r\n,最后一行可以没有换行符 列分隔符常为逗号和制表符 每一行称之为record from ...