Appium基础 — Chrome Inspect定位工具

news2025/2/1 7:39:34

1、Chrome Inspect介绍

Chrome Inspect定位工具是用来抓取app中Webview页面的。

为了项目的需求,为了更好的保证效果和布局跨平台,Android&H5混合开发一般是我们不错的选择。Google浏览器中的Chrome Inspect定位工具,提供了一个移动端Web页面开发调试的功能,通过它我们可以调试手机页面,可以看到页面的源码,从而进行元素的定位。

使用Chrome Inspect定位工具的前提条件

使用Chrome开发人员工具调试原生Android应用中的WebView,Android版本应该在Android4.4(KitKat)或更高版本上,通过DevTools在原生Android应用中调试WebView页面中的内容。

2、Chrome Inspect打开方式

打开PC端的Chrome浏览器,在访问地址栏中输入chrome://inspect/就可以了,就是这么简单。

如下图:

3、Chrome Inspect工具的使用

(1)Chrome Inspect工作前提

  • 所测试设备是开机状态(手机或者模拟器)。

  • 确保电脑与设备是链接状态,也就是

    cmd进入命令行终端,
    输入adb connect 127.0.0.1:21503链接逍遥模拟器,
    输入adb devices能够获取设备名称。

(2)Chrome Inspect操作

1)在APP中打开含有Webview的页面

例如:开百度APP,进入到微博登陆的界面就是一个含有Webview的页面。

如下图:

2)在Chrome Inspect中识别到Webview页面

我们进入到PC端的Chrome浏览器中,访问地址栏中输入chrome://inspect/(没有显示的话就点击一下刷新),就可以检测到当前应用程序界面是Webview页面了。

如下图:

3)点击inspect可以进入调试视图

点击如上图中的inspect,可以进入Chrome Inspect工具的调试视图 .

会弹出一个新窗口,显示当前页面的Webview元素信息。

并且元素定位方法同Selenium WebDriver一致。

就是这么简单。

4、使用Chrome Inspect遇到的问题

(1)Android系统版本

Android移动设备版本应该在Android4.4或更高版本上。

从Android 4.4开始,webkit是支持远程调试的。

(2)所测App的debug模式要打开

在使用Chrome Inspect工具调试移动端APP的Webview页面的时候,需要将该App的debug模式打开。

但其实大部分App的debug模式都是关闭的,要去找一个开启debug模式的版本还是比较麻烦的。

因此需要使用借助第三方工具来强制开启任何App的Android webview debug模式,使之可以使用Chrome Inspect。

而这个工具就是Xposed

(3)Xposed工具的安装

1、将设备进行root

因为涉及到root权限,因此需要将设备进行root。

有很多工具可以来root,比如KingRoot等。

注:Android模拟器默认root。

2、下载Xposed框架

官方下载地址:http://repo.xposed.info/module/de.robv.android.xposed.installer

点击页面下方的Show older versions,选择一个稳定版本进行下载。


3、安装Xposed框架

将下载好的Xposed安装包de.robv.android.xposed.installer_v32_de4f0d.apk,直接拖入到Android模拟器中,进行安装。

安装好后如下图:

3、安装/更新Xposed框架

打开 Xposed Installer,选择“安装/更新”的最新版,然后点“安装”会自动下载刷入。(过程可能会有一些慢)

安装界面

安装更新完成后的界面,如下图:

4、安装Xposed webview debugging模块

打开Xposed界面中点击左上角的三条横杠,选择模块,然后启用需激活模块的复选框,正常重启后即可使用。

如果你的手机中没有安装WebViewDebugHook模块或者没有任何模块,如下图。

可以在Xposed中进行下载安装WebViewDebugHook模块。

然后按照上面的方式激活WebViewDebugHook模块即可。

(4)HTTP/1.1 404 Not Found和空白页问题

chrome://inspect/#devices中点击inspect出现的窗口中,界面是出现HTTP/1.1 404 Not Found或者是空白页的现象。

如下图:

空白页


HTTP/1.1 404 Not Found界面

原因:

对于国内的程序猿来说,由于无法访问 https://chrome-devtools-frontend.appspot.com,就会出现出现HTTP/1.1 404 Not Found或者空白页面的现象

例如上面的@33f6ad690e178169a17596eeec8596751a696d1e就是移动设备中浏览器的一个版本号,当你换一个手机或模拟器的时候,版本号可能就不一样了。

因为不同型号的手机生产商可能会打包不同版本的chrome浏览器内核,Chrome Inspect定位工具就会先访问 https://chrome-devtools-frontend.appspot.com,下载对应的chrome-devtools相关驱动,而国内无法访问并下载这些驱动,就出现了404和空白页。

网上找到如下三种解决方式:

  • 方法一:下载devtools 的inspect的 离线开发者调试工具包。(花钱,没有免费的)

  • 方法二: 修改网络连接,修改hosts文件。

  • 方法三:使用第三方的chromium内核的浏览器,如QQ浏览器。

(都不好使,大家也可以自己试试)

推荐使用VPN,或者下载一个可FQ的谷歌浏览器用一下即可,不用的时候就关了。

(5)补充:安卓模拟器打开开发者选项

  1. 打开手机的“设置”,进入到“设置”页面;

  2. 滑到“设置”页面的最下端,找到“关于手机”,进入到“关于手机”页面;

  3. 找到“版本号”,连续点击。

  4. 会弹出一段文字提醒,直到提醒次数为0后,结束点击。

  5. 返回“设置”界面,开发者选项就出来了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/104457.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(六)docker容器数据卷的理解和使用

目录 一、容器数据卷是什么 二、容器数据卷能干吗 三、宿主vs容器之间映射添加容器卷 四、读写规则映射添加说明 五、卷的继承和共享 一、容器数据卷是什么 Docker将运行的环境打包形成容器运行, Docker容器产生的数据,如果不通过docker commit生成…

【软件测试】快速迭代的敏捷项目?测试怎么做?测试人怎么提升自我价值......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 提到敏捷项目时&…

【嵌入式】Linux开发工具arm-linux-gcc安装及使用

知识架构及层次 — 程序编译及调试 嵌入式交叉编译器安装配置 宿主机 执行编译、链接嵌入式软件的计算机 目标机 运行嵌入式软件的硬件平台 “本地”编译器 用来生成在与编译器本身所在的计算机和操作系统(平台)相同的环境下运行的目标代码&#xff0c…

【2023 海光 笔试题】~ 题目及参考答案

文章目录1. 前言2. 题目 & 答案第1题第2题3. 回忆杀4. 关于存储芯片声明1. 前言 今天分享的是海光的关于IC验证的笔试部分题目!!!名称如标题所示,希望大家正确食用(点赞转发评论) 本次笔试题一共三部分…

l2逐笔接口如何如何查询委托明细?

l2逐笔接口进出行查询逐笔委托明细目前只支持电脑端,需要在登录进页面后在个股分时页面的右边需要双击或回车操作,找到行情资讯单元,再选择Level2单元。并且l2逐笔接口对A股的数据调用就是利用api结构来验证和存储数据,相当于一个…

leetcode.1760 袋子里最少数目的球 - 反向二分(二分答案)

1760. 袋子里最少数目的球 思路: 你的开销是单个袋子里球数目的 最大值 ,你想要 最小化 开销。 题目出现:最大值最小,最小值最大 则是二分题 已知开销值y越大,操作数越小,则问题具有单调性,可以…

微信小程序 | 小程序的事件处理

🖥️ 微信小程序 专栏:小程序的事件处理 🧑‍💼 个人简介:一个不甘平庸的平凡人🍬 ✨ 个人主页:CoderHing的个人主页 🍀 格言: ☀️ 路漫漫其修远兮,吾将上下而求索☀️ &#x1f44…

怎么智能配音?推荐几个比较实用的配音方法给你

现在我们的生活变得越来越便捷化,越来越多的新鲜事物出现在我们的眼前,比如配音。随着短视频的火爆,相信屏幕前的你也剪辑过视频吧。给视频剪辑的过程中,为视频中的文字内容进行配音是一个必不可少的剪辑步骤,这样可以…

数字孪生智慧场馆项目应用场景展示

近年来,发展"数字经济"和建设"数字孪生城市"相继被提升为国家发展战略, 如何运用数字孪生技术活化体育场馆运用场景成了场馆智慧化建设道路上需要思考的问题。 数字孪生智慧场馆项目 北京智汇云舟科技有限公司成立于2012年,专注于创新性的“视…

IOT知识记录

文章目录物联网程序设计GPIO 端口配置结构体定义 //代码规范样例NB模组运行流程LORAWAN模组1. 基础知识:2. 运行流程:4G 和WIFIGPRSPDN与APNPDP上下文和PDP地址APN:APN即“接入点名称”物联网 程序设计 程序框架的规划各个模块功能的细分系…

氧饱夹语音芯片,内置功放直推喇叭输出,低成本语音IC,WTN6系列

血氧夹能够实时检测用户当前的血氧饱和度,相比于传统没有嵌入语音芯片的血氧夹,只有一个显示屏,无法直观知道当前血氧是正常还是偏低,需要用户查阅一些资料/问客服如何使用,大大降低了产品的体验; 添加了语…

界面控件DevExpress WPF中文指南 - 主题设计器工作区介绍

DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 DevExpress WPF的Them…

统一自己的mac和linux环境的终端使用(alacritty+tmux代替iterm2)

升级切换了下自己的终端工具tmux配置,终端工具从iterm2改到了alacritty。 为什么切换终端 快。 alacritty使用GPU进行渲染,可以做到其他无法实现的性能优化。小。 iterm2快40m,alacritty只有10m,当然这个只能算小优点&#xff0…

flex换轴,布局,语法,移动端

物理分辨率&#xff1a; 硬件所支持的&#xff0c;屏幕出厂就设定无法修改逻 辑分辨率&#xff1a; 软件可以达到的&#xff0c; 我们开发中写的是逻辑分辨率 视口&#xff08;viewport&#xff09;就是浏览器显示页面内容的屏幕区域。 <meta name"viewport" c…

栈的分类以及应用场景

栈的本质就是一段内存&#xff0c;程序运行时用于保存一些临时数据。栈大体可以分为四种类型空增、空减、满增、满减。ARM处理器一般使用满减栈。 目录 1、栈的分类 2、压栈/出栈的两种实现方式 (1) 方式一&#xff1a;使用后缀DB / IA (2) 方式二&#xff1a;使用后缀FD …

nexus 远程代码执行 (CVE-2020-10199)

目录 一、漏洞信息 二、影响版本 三、环境搭建 四、漏洞复现 五、修复建议 这里用的是docker desktopvulfocus搭建的环境。 一、漏洞信息 名称: nexus 远程代码执行 &#xff08;CVE-2020-10199/10204&#xff09; 描述: Nexus Repository Manager&#xff08;NXRM&a…

K8s 滚动升级与回退

目录前言一、升级二、回滚前言 Rolling Update 即滚动更新&#xff0c;先更新一部分副本&#xff0c;成功后再继续更新更多副本&#xff0c;最终完成所有的副本更新。前面说到动态伸缩容并不会触发上线&#xff0c;仅当 Deployment Pod 模板&#xff08;即 .spec.template&…

代码随想录拓展day1 1365.有多少小于当前数字的数字;941.有效的山脉数组;

代码随想录拓展day1 1365.有多少小于当前数字的数字&#xff1b;941.有效的山脉数组&#xff1b;1207.独一无二的出现次数&#xff1b;283. 移动零 打卡结束了&#xff0c;趁着世界杯当了几天懒狗&#xff0c;现在正好世界杯也结束了&#xff0c;希望能保持一个好习惯吧。 13…

m基于DCAR编码感知的网络路由发现算法matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 1.路由请求过程 当一个源节点有数据要向目的节点发送且在当前路由缓存中未发现可用路径时&#xff0c;则启动路由请求过程&#xff0c;下面分步对该过程进行说明&#xff1a; 步骤1&#xff1a…

AI行动,解放做表打工人

1. atomecho 插件介绍 如果你是个—— 需要做财报、数据新闻的冤种&#xff1b; 或者是“网上有的我都想要”的囤积狂魔&#xff1b; 或是沉迷“CtrlC、CtrlV”的做表工具人。 那你一定不陌生—— 对不上的格式、找不到的数据、删不完的无效内容、按烂了的“CtrlC”和“CtrlV…