网页问题分析过程中经常会遇到需要分析手机页面源码的情况,之前都是通过工具将手机上的网页另存为html文件,然后在PC上通过Chrome或Firfox进行网页结构分析。这种方式得到的相当于“二手”页面,希望能直接在PC上对手机页面的源码结构进行查看和分析,发现通过 weinre工具可以很好实现这一目标,现将环境搭建过程回顾如下。

一、工具准备

以下工具与本人使用的环境做介绍。

1. PC端Chrome浏览器(V 25.0.1364.97, PC为Win7系统,并安装了Cygwin);

2.  测试手机一部  (Nexus 4, android 4.2 platform),内置Chrome浏览器;

3.  Connectfy软件,用于将PC作为共享热点,通过无线方式将手机连接到PC,并可以共享上网。

通过ipconfig /all命令查记下PC的IP地址为192.168.196.1,输入*#*#4636#*#*进入手机的工程模式,记下其IP地址为192.168.196.101;

5. 安装Node.js作为weinre的运行时环境,当前版本为V0.10.4;

4. 下载weinre安装包. 作者是直接下载的二进制包,并在window下解压, 解压位置无要求,作者解压到了D:\TDDOWNLOAD\weinre\apache-cordova-weinre-2.0.0-pre-HA5N9T49-bin。(官方介绍可通过npm方式安装,没试)。

二、调试环境准备

1. 从Cygwin进入解压目录,启动weinre调试服务器

./weinre --boundHost 192.168.196.1

默认绑定到8080端口,上面的IP地址为之前查询到的PC的IP, 此时可以看到调试服务器已启动,如图1

图1 启动weinre调试服务器

其它配置参数可使用./weinre -h 命令查看到.

2. 此时在PC的Chrome浏览器中输入http://192.168.196.1:8080,可以看到weinre的介绍页面。从手机端的Chrome浏览器中进入http://192.168.196.1:8080,同样可以查看到相同的主页,如图2。

图2 weinre介绍界面

3. 在PC的Chrome浏览器中点击上述的debug client user interface连接,可以看当前调试服务器的相关信息,如图3。

图3 无调试目标时的状态

Target为none表示目前无调试网页连接到调试服务器。

4. 本地网页调试。

在手机端的Chrome中新开一个tab页面打开步骤2中的第一个Demo,此时可以看到该测试网页已和调试服务器建立连接,可在调试界面中的Remote面板中查看到相关信息,如图4, 图5所示.

图4 已连接Demo测试页

图5  调试面板

上述Demo页面位于PC端的demo文件夹内D:\TDDOWNLOAD\weinre\apache-cordova-weinre-2.0.0-pre-HA5N9T49-bin\web\demo,所以对于其他本地调试页面,也可以放到该文件夹内进行调试,但不要忘了加入调试脚本.

<script src="http://a.b.c:8081/target/target-script-min.js"></script>

5. 在线网页调试。

关键是对在线调试的网页进行脚本注入,注入上述的调试脚本,这样才可以在调试界面中进行在线网页的调试。以百度主页(http://www.baidu.com)调试为例,步骤如下:

1).  在手机端的Chrome浏览器中按照步骤6的操作进行默认调试主页,并向下滑动到Target Bookmarklet部分,如图6所示。

图6 调试脚本注入

长按 weinre target debug连接并复制器连接地址。

2).  手机Chrome中浏览器中新开一个tab页,输入http://www.baidu.com, 加载百度主页并正常显示;

3).  在打开的百度tab页地址栏中粘贴上刚才复制的连接地址并进行加载,此时调试脚本已注入调试页面,可在Remote面板中看到百度页面已跟调试服务器建立连接,此时可通过相关面板查看百度页面信息,如图7所示。

图7 待调试的百度主页

强大的是在PC的Element面板内移动鼠标,对应的HTML元素会在手机端Chrome浏览器中高亮显示,跟用Chrome调试本地页面一样,非常棒!

对其它在线页面的调试也一下,先加载再注入调试脚本,关键是调试脚本的注入。试了几次官网上介绍的方法不行,默认粘贴<pre>和<textarea>中的脚本会直接加载该脚本内容,导致注入失败。

weinre调试环境搭建相关推荐

  1. auto.js id为参数滑动_【Autojs教程】02Autojs PC端开发调试环境搭建

    [Autojs教程]02-Autojs PC端开发调试环境搭建 写在前面 本篇教程算是保姆级教程了,希望以此能吸引更多感兴趣的同学学习Autojs,也希望大家能因此碰撞出更多的奇思妙想 关注微信公众号 ...

  2. mac 内核调试环境搭建

    操作系统安装 先从 app store 下载 下载完后安装程序在应用里 打开 vm 新建 双击从光盘或映像安装 安装 安装失败 用其它工具安装 还可以先在 windows 上的 VM 下先安装好再拷贝 ...

  3. uni-app 模拟机调试环境搭建

    前言 最近接手了一份使用 uni-app 进行开发的工作,今天才有时间正式开始,在这里记录一下使用 HBuilderX 进行 uni-app 开发的调试环境搭建过程. 下载安装 HBuilderX 进 ...

  4. Mikrotik路由器(routerOS)调试环境搭建

    routerOS 调试环境搭建 1 安装routerOS 1.1 下载routerOS镜像文件 略 1.2 安装 需要注意的是:选择硬盘类型为IDE,因为routerOS默认情况下未包含SCSI或SA ...

  5. eas java配置_EAS客户端调试环境搭建

    客户端调试环境搭建说明 适用场景:在现场跟踪问题或者在研发内部跟踪定位测试环境的问题时,开发人员需要快速搭建一个可供调试的环境以供分析问题,以下说明可供开发人员在需要时使用,注意该方式只支持客户端调试 ...

  6. Nacos 简介与 本地调试环境搭建

    目录 1.简介 2.Nacos架构 3.本地调试环境搭建 3.1 源码下载 3.3 单机启动 Nacos 3.4 集群方式启动:基于文件方式 4.Nacos源码模块介绍 5. 约定说明 1.简介 Na ...

  7. ffmpeg编译gb28181_RTSP/GB28181协议/海康SDK/Ehome协议视频上云网关EasyCVR视频平台在linux环境下ffmpeg源码单步调试环境搭建...

    目前TSINGSEE青犀视频研发的视频上云服务平台EasyCVR已经可集成海康EHome私有协议,并且在前文中我也跟大家讲过EHome协议的配置和调用流程,有兴趣的可以阅读一下:配置及协议介绍.Eho ...

  8. 线程简介和MySQL调试环境搭建

    导读: 本文节选自八怪专栏<深入理解MySQL主从原理32讲>第29节 想内容请点击订阅专栏 注意:如果正文有图片不清晰可以将图片保存到本地查看(本文建议横屏观看效果更佳) 最后我想简单说 ...

  9. 路由器逆向分析------路由器固件分析和动态调试环境搭建简述

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/70140865 01.路由器固件分析和动态调试环境搭建简述的原文 <Emula ...

最新文章

  1. AXI DMA DRIVER 阶段性 kernel driver 构建并测试(三 )
  2. 远程计算机的分辨率调整,手把手教你解决win10系统远程连接设置电脑分辨率的设置方法...
  3. discuz数据从godaddy主机中导出的mysql数据乱码变问号???的解决方法
  4. 简单的机器学习程序_人体动作识别小程序【机器学习 人工智能】
  5. 4、requests-基础
  6. juypter 不省略_常用pandas清洗数据命令
  7. 【BZOJ2989】数列(CDQ分治,扫描线)
  8. 【Redis】Redis 五大基本数据类型
  9. 广东开放大学学习指南
  10. mysql表情存储报错问题
  11. 【CS285 深度强化学习 】作业一之详解 [Deep Reinforcement Learning]
  12. Myeclipse中编辑Jsp时解决光标乱跑的方法
  13. kaggle quora_我想以自己的方式使用网络,非常感谢Quora。
  14. 【转】Windows Server 2003删除IE
  15. 竞技时代引领VR电竞,WVA2018全新出发!
  16. 工作表单元格区域另存为图片
  17. 一只喵的西行记-10 哲学家H+计划
  18. 数据库编程需要下载什么软件
  19. 常见的网络状态码(HTTP状态码)
  20. VS 2017 OCX

热门文章

  1. linux ext4 img解包打包教程,安卓解包、修改、打包system.img/system.img.ext4教程
  2. PHP程序员需要注意的代码规范PSR有哪些?
  3. 【零基础 快速学Java】韩顺平 p104-147 流程控制:顺序、分支、循环、跳转 控制语句 (if、for、while、dowhile、break、continue、return)
  4. 百万调音师—Audition初识
  5. php enc28j60,uip0.9+ENC28J60 缓存的读写发送
  6. Mogafx英美对有望结束连续两日的跌势
  7. 计算机(Computer)基础
  8. 因为未将计算机与远程服务,win7提示错误797未建立到远程访问服务的连接怎么办...
  9. 【springboot进阶】RestTemplate 集成 okhttp3 请求带p12证书
  10. android+8g开机剩余,8G内存的iQOO开机只剩4G,Jovi没用,网友直言后悔了