这一章主要是讲解当我们在使用QTP去抓去对象或者使用SPY去查看对象时的一种模式切换,可不要小看了这个模式,在有些时候它可是能够帮上我们很大的忙,简单的举个例子,还是拿百度为例(每次都拿百度为例,是因为大家基本都上百度,申明我不是百度的,呵呵),当我们打开百度进入到百度首页时,我们自然而然会发现有个搜索框,废话。。但是从09年开始大家有没有发现此搜索框有了一定的变化,没错就是AJAX的模糊匹配下拉框(这方面GOOGLE比百度领先有一段时间了),那么今天主要讲的就是它了。

  • AJAX的模糊匹配

比如我们在搜索框中输一个quicktest

在上图我们可以看到在此搜索框下面会自动出现一些模糊匹配quicktest的一些关键词

那如果我们需要在这块做自动化的话我就需要首先抓取这些对象,这样我们可以试着先使用SPY抓去下,但是当你在抓去这些对象的时候你会非常的郁闷,因为你根本无法抓去到上面的对象,一旦点了SPY上的手指那个下拉匹配框就会消失,这样就造成了我们无法正常的去获取到我们需要获取的对象,结果就是坐着发呆,没有任何办法。而此时我今天需要讲的模式切换就起到了决定性的作用,目前的关键就在于当我们输入quicktest之后一旦切换了窗口再切回来模糊匹配下拉框就必定会消失,因此我们可以不切换百度窗口而直接获取,这就是模式切换的优势,接下来我们来详细讲解下模式。

当我们使用SPY或者对象库抓去对象时,一旦点了手指就只能抓去对象而无法进行任何的操作,但其实当我们在点了手指之后我们是可以进行两种模式的切换操作,切换后可以停止对象的抓取,并可以对被测对象进行操作。

  • 半操作模式 ---- CTRL键 支持鼠标点击

  • 全操作模式 ---- CTRL+ALT键 支持鼠标点击和键盘输入

半操作模式:

打开百度后,使用spy点击手指后,我们可以看到鼠标是手指状态,也就是抓去对象的状态,此时是不可以做任何操作,只能抓取对象,而当我们按住CTRL键不要松开,此时我们可以做鼠标点击动作,同时鼠标也从手指变成了原本的箭头鼠标,当我们放开CTRL键时,我们可以看到鼠标又从箭头恢复到了手指,也就是说恢复了抓取对象的模式。

全操作模式:

全操作模式就是支持任何操作,包括鼠标点击和键盘输入,当我们在抓取对象模式的情况下按住CTRL不放再按下ALT,然后先松开CTRL,再松开ALT,此时我们就已经成功切换成全操作模式了,这样我们就可以在搜索框中进行输入操作了,我们这里就输入quicktest,输入后百度搜索框会弹出模糊匹配下拉框,这时我们可以通过点击CTRL键,然后松开就可以切换回抓取对象模式,同时模糊匹配下拉框也不会消失,这样我们就可以成功对起模糊匹配下拉框对象进行抓取了,有了它就是再狡猾的对象也照样被我们一网打尽,哈哈。

转载于:https://blog.51cto.com/494981/1302831

== 捕获对象时的模式切换 ==相关推荐

  1. java 捕获运行时异常_java-如何通过ASM在字节码中捕获运行时异常

    我试图通过异常捕获运行时异常.我能够捕获通常的方法退出事件. 但是,控件永远不会到达opcode == Opcodes.ATHROW. 我认为在调用事件时做错了事. 这是我的示例代码: public ...

  2. 共享文件时提示“将安全性信息应用到以下对象时发生错误”

    在给某文件夹设置用户权限时发生错误,提示"将安全性信息应用到以下对象时发生错误",点击继续其它子文件及文件夹依然如此. 故障如图: 解决方法: 1.右键打开文件夹的属性,在弹出选项 ...

  3. select的value值为对象时,获取label和value

    使用select时,有时后台查表浪费时间,会需要把select选中数据的id,name都传给后台.option的value绑定对象时,必需要给select绑定一个value-key,官方文档也有标注 ...

  4. 使用Fastjson解析List对象时出现:{“$ref“:“$.data[0].task.OBJECTS[0]“}的问题原因及解决方法

    使用Fastjson解析List对象时出现:{"$ref":"$.data[0].task.OBJECTS[0]"}的问题原因及解决方法 参考文章: (1)使用 ...

  5. lombok使用中出现继承关系的对象时,出现的问题及解决办法

    lombok使用中出现继承关系的对象时,出现的问题及解决办法 参考文章: (1)lombok使用中出现继承关系的对象时,出现的问题及解决办法 (2)https://www.cnblogs.com/h- ...

  6. 序列化类型 System.Data.Entity.DynamicProxies 的对象时检测到循环引用

    学习 EF Code First+MVC 时遇到了在请求JsonResult时出现 序列化类型 System.Data.Entity.DynamicProxies 的对象时检测到循环引用 的异常,原因 ...

  7. arcgis 出图背景_ArcGIS中导出数据时老显示导出失败,显示“保存对象时出错”什么原因?...

    当我们将数据导出出,有时会导出失败,弹出以下对话框,显示"保存对象时出错" 很多人一度怀疑是自己的数据或者软件出现了问题 因为在别人的电脑上同样的步骤操作成功了 那么究竟是什么原因 ...

  8. Mybatis执行select语句无匹配对象时返回集为Empty还是null

    结果: 返回集定义为集合时,返回值为Empty,而不为null:返回值为对象时,为null 验证: select语句: <select id="listNone" resul ...

  9. 序列化类型为XX的对象时检测到循环引用

    现象描述: MVC4中将dataTable转换成Json时,总是提示错误:"序列化类型为"System.Reflection.RuntimeModule"的对象时检测到循 ...

最新文章

  1. 智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-汇总
  2. 首批国家应用数学中心名单公布,哪些高校获批?
  3. 如何直观的看出主题模型学习结果的好坏
  4. 2021-2025年中国定时控制器行业市场供需与战略研究报告
  5. 一个完整的嵌入式程序_嵌入式入门-从STM32CudeMX、FreeRtos、Proteu仿真开始
  6. DeepStream插件Gstreamer(一):插件汇总
  7. Screen Orientation for Windows Phone
  8. mysql取第二大_mysql – SQL:从一行列中获取第二大值
  9. HTTP_REFERER的用法及伪造
  10. 红米pro android o刷机,红米Pro官方卡刷机教程 怎么刷机
  11. vmware如何安装spoonwep2
  12. 室内地图制作软件,怎么制作电子地图?
  13. oracle mysql什么意思_oracle数据库中这些语句都是什么意思啊?
  14. Waves 10 win10 如何卸载干净 / 安装 / 如何处理waves mixer application installation failed / 改变默认安装路径
  15. “贴吧之父”俞军20年的方法论:顶级与平庸的差距有多大?
  16. 微信小程序播放bilibili视频
  17. 对方波信号进行傅里叶级数展开,利用matlab绘制展开后的波形
  18. SAP整车订单下达接口的最佳实践
  19. 宜收藏!65个考研预报名问题汇总!
  20. 基于matlab的水准网间接平差程序设计,matlab水准网间接平差

热门文章

  1. _Blank主页——个人浏览器主页定制
  2. 年末裁员事件背后的启示录(2)
  3. int i 引出JVM故事
  4. html radio 作用域,ionic 表单输入 ion-checkbox ion-radio ion-toggle ion-spinner
  5. 登录方式1:MySQL自带客户端
  6. 多线程对于共享变量访问带来的安全性问题
  7. 搭建基础架构-Order
  8. SpringMVC的数据响应-回写数据-直接回写json格式字符串(应用)
  9. 案例:返回固定页面的http服务器
  10. 基于multisim的fm调制解调_高通二代5G调制解调器骁龙X55实现7Gbps高速率,透露5G三大关键点...