zoukankan      html  css  js  c++  java
  • 在QTP中使用DOM

    大家对DOM应该都不陌生,它在网页制作中有广泛的应用。如果我们想在QTP中使用DOM模型需要通过Page对象的Object属性来实现。注意,QTP11才有良好的DOM支持操作,这里用百度首页做例子。

    我们需要做的是在百度的搜索输入框中输入"qtp"并改变输入框的样式

    '改变搜索框样式
    
    Set odom=Browser("百度一下,你就知道").Page("百度一下,你就知道").Object
    odom.getElementById("kw").value="qtp"
    odom.getElementById("kw").style.border="2px solid red"

    input标签的ID可以通过IE开发者工具查到,按下F12就可以了。想快速定位的话,按下CTRL+B,鼠标移到输入框上,单击即可。

    当需要操作的对象很多的时候,使用DOM可以快速的完成。例如,我们想输出百度知道页面的所有A标签,使用DOM的方式获取更为快速。

     1 services.StartTransaction "GetA"
     2 Set link_obj=description.Create
     3 link_obj("micClass").value="Link"
     4 
     5 Set links= Browser("百度知道 - 全球最大中文互动问答平台").Page("百度知道 - 全球最大中文互动问答平台").ChildObjects(link_obj)
     6 For i=0 to links.count-1
     7     print links.item(i).GetROProperty("text")
     8 Next
     9 services.EndTransaction "GetA"
    10 
    11 services.StartTransaction "GetB"
    12 Set dom=Browser("百度知道 - 全球最大中文互动问答平台").Page("百度知道 - 全球最大中文互动问答平台").Object
    13 
    14 Set adoms=dom.getElementsByTagName("a")
    15 
    16 For each adom in adoms
    17     print adom.innerHTML
    18 Next
    19 services.EndTransaction "GetB"

    DOM还可以做很多QTP不能做的事情,例如,我们想使百度首页的A标签全部不显示,DOM可以很简单的完成

    1 Set dom=Browser("百度知道 - 全球最大中文互动问答平台").Page("百度一下,你就知道").Object
    2 
    3 Set adoms=dom.getElementsByTagName("a")
    4 
    5 For each adom in adoms
    6     adom.style.display="none"
    7 Next

  • 相关阅读:
    Oracle 小函数的使用
    QML使用MouseArea
    QML渐变色
    使用fontawesome
    查看QML数据类型
    QML使用moveToThread线程【QML工程使用C++】
    QML登录界面
    QML异常:Cannot anchor to an item that isn't a parent or sibling
    QML最大化
    TensorFlow基础笔记(9) Tensorboard可视化显示以及查看pb meta模型文件的方法
  • 原文地址:https://www.cnblogs.com/michaelle/p/4023323.html
Copyright © 2011-2022 走看看