51Testing软件测试论坛

标题: 关于getElementsByTagname [打印本页]

作者: wangkb01    时间: 2012-12-28 10:35
标题: 关于getElementsByTagname
本帖最后由 wangkb01 于 2012-12-28 10:36 编辑

邮箱中QTP无法识别邮件列表控件。想使用DOM方法,点击复选框。
但由于没有id和name,只能使用tagname,试了多次,都没成功,请问大家该如何使用这个方法。
下图是复选框属性的图。
[attach]82942[/attach]
作者: 黑羽祭    时间: 2012-12-28 10:42
什么邮箱?
信息不全啊~
作者: wangkb01    时间: 2012-12-28 11:43
回复 2# 黑羽祭

163的邮箱的复选框

    [attach]82946[/attach]
作者: wangkb01    时间: 2012-12-28 11:44
回复 2# 黑羽祭

163的邮箱,邮件列表的复选框
[attach]82947[/attach]
作者: 黑羽祭    时间: 2012-12-28 12:03
回复 4# wangkb01


    我看了一下:[attach]82948[/attach]

添加个多选框到对象库,然后直接:
  1. Browser("(1封未读) 网易邮箱5.0版Beta").Page("(1封未读) 网易邮箱5.0版Beta").WebElement("WebElement").Click
复制代码


居然也可以勾选。
作者: 黑羽祭    时间: 2012-12-28 12:16
回复 4# wangkb01


    再试试这个:
  1. Set oDesc = Description.Create()
  2.     oDesc("micclass").Value = "WebElement"
  3.         oDesc("html tag").Value = "B"
  4.         oDesc("class").Value = "nui-ico nui-ico-checkbox"
  5. Set obj = Browser("网易邮箱5.0版Beta").Page("网易邮箱5.0版Beta").ChildObjects(oDesc)
  6.     Num = obj.Count()

  7. msgbox "有" & Num & "个WebElement对象"

  8. For i = 1 To Num - 1
  9.         obj(i).Click
  10. Next
复制代码

作者: xjwldlover    时间: 2012-12-28 12:25
<SPAN class=nui-chk-symbol><B id=1356668146684_329xtbBSQGTrE9othw3XAAAsRCheckboxB class="nui-ico nui-ico-checkbox nui-ico-checkbox-checked" title=取消选中></B></SPAN>

QTP进行web测试,HTML知识是关键~,通过抓取页面元素可以发现,使用childObjects更方便。
根据SPAN class=nui-chk-symbol遍历checkbox,根据class="nui-ico nui-ico-checkbox nui-ico-checkbox-checked"判定选中状态
作者: wangkb01    时间: 2012-12-28 12:33
回复 5# 黑羽祭


    谢谢。。我以为webelement不能直接点击呢。。
作者: wangkb01    时间: 2012-12-28 12:37
回复 7# xjwldlover

我试过getElementById的方式,但是没成功,我试了这两种方式
xx.getElementById(1356668146684_329xtbBSQGTrE9othw3XAAAsRCheckboxB ).value=true

xx.getElementById(1356668146684_329xtbBSQGTrE9othw3XAAAsRCheckboxB ).checked = true
作者: xjwldlover    时间: 2012-12-28 13:01
回复 9# wangkb01

呵呵 你操作错了,给LZ推荐三个工具,帮助你快速理解对象和QTP工作方式:

作用:查看对象方法和属性,用于跟踪和调试(比如你这里获取的对象是没有checked属性是不可用的)
IE8的pdm.dll,安装QTP后注册一下IE的这个控件,和iexplore.exe相同目录(IE8及以上)

作用:抓取页面元素和调试页面脚本,比如我抓取的HTML信息
IE的F12功能   (IE8及以上)

作用:了解QTP对象,查看QTP提供的各项功能、对象、方法。比如webElement可以点击,这在文档里就有说明
QTP的F1帮助文档
作者: wangkb01    时间: 2012-12-28 13:20
回复 10# xjwldlover


    好的,谢谢,非常感谢这么耐心的解答
作者: wangkb01    时间: 2012-12-28 13:34
回复 6# 黑羽祭


    恩,很好用,很感谢




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2