appium定位h5

本文介绍了一种通过Chrome浏览器调试手机H5页面的方法,包括开启USB调试、使用Chrome的远程调试功能来操作手机上的H5页面。同时提到了uiautomatorviewer无法定位WebView的问题,而Appium可以实现这一目标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、手机安装Chrome浏览器

2、开启USB调试模式,并使用安装的Chrome浏览器打开待测H5页面

3、在电脑端的Chrome浏览器输入chrome://inspect
                                                

 


4、打开链接后,选中 Discover USB devices,可以看到监测到的设备,然后点击inspect 就可以操作了

5.  经过研究发现只能定位google打开的网页

6. 试过 uiautomatorviewer.bat  不能定位webView

7. appium可以定位webView

相关

### Appium 元素定位方法 #### ID 定位 ID 是最常用也是效率最高的定位方式之一。通过唯一标识符来查找元素,这种方式不仅快速而且稳定。 ```java driver.findElement(By.id("com.example:id/button")); ``` 此代码片段展示了如何利用 `By.id` 方法找到具有特定 ID 的按钮组件[^1]。 #### Class Name 定位 当应用中的多个视图共享相同的类名时可以采用此类方式进行筛选。需要注意的是,在复杂界面下可能会返回多个匹配项,因此可能需要进一步限定条件以确保准确性。 ```java List<WebElement> elements = driver.findElements(By.className("android.widget.EditText")); elements.get(0).sendKeys("input text"); ``` 这段 Java 代码说明了怎样选取第一个编辑框并输入文字[^2]。 #### XPath 定位 XPath 提供了一种灵活的选择机制,允许基于属性值或其他特征精确定位单个或一组节点。对于那些难以用简单选择器表达的情况特别有用。 ```xml // 使用绝对路径 WebElement element = driver.findElement(By.xpath("/hierarchy/android.widget.FrameLayout[1]/...")); // 或者相对路径配合属性过滤 WebElement element = driver.findElement(By.xpath("//android.widget.TextView[@text='Login']")); ``` 这里给出了两种不同类型的 XPath 表达式的例子:一种是指定完整层次结构;另一种则是仅指定目标标签及其特性。 #### UI Automator 定位 UIAutomator Viewer 工具可以帮助开发者更好地理解应用程序的布局,并构建更精确的选择器字符串用于测试框架中。它支持按文本、资源 id 和其他可见属性来进行查询。 ```java UiSelector().resourceId("com.package.name:id/resource_id").click(); ``` 上述命令演示了调用 UiSelector 来点击某个带有给定 resourceId 的控件的操作[^4]。 #### Accessibility Id (Content Description) 定位 这种方法适用于 Android 平台上的无障碍服务功能。如果界面上某些不可见但可交互的对象没有合适的视觉表示,则可以通过设置 contentDescription 属性实现间接访问。 ```java driver.findElement(MobileBy.AccessibilityId("Settings")).click(); ``` 该语句实现了依据 accessibility id 找到名为 "Settings" 的项目并触发其点击事件的功能。 --- 为了提高定位成功率和稳定性: - 尽量优先考虑使用 ID 或者 Content Description 这样的独特标志作为首选方案; - 对于动态变化的内容(比如列表项),尝试结合 index 参数或者自定义谓词逻辑缩小范围; - 面向 H5 页面内的 Web 组件时切换上下文至 WebView 模式再继续下一步骤[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值