51Testing软件测试论坛

标题: qtp如何描述DIV层 [打印本页]

作者: kellyxie    时间: 2009-10-30 12:30
标题: qtp如何描述DIV层
下面代码如何将“发件人: 谢惠卿 <xiehq@china-channel.com> ”取出来?



<div style="border-bottom: 1px solid rgb(205, 205, 205);" title="邮件发送时间: 2009-10-30 10:59:58 
发件人: 谢惠卿 <xiehq@china-channel.com
主题: Rulai  项目跟踪 
大小: 8.80 KB" id="1256871598.M980978P31614V0000000000000806I0000000000B8C159_0.mail.china-channel.com,S=9008:2,S" class=""><span class="mailRead" ondblclick="JS.readMailWithforbiddenEvent('1256871598.M980978P31614V0000000000000806I0000000000B8C159_0.mail.china-channel.com,S=9008:2,S',event)" onclick="JS.getMailWithforbiddenEvent(0,event)"><table width="100%" cellspacing="2" cellpadding="0" border="0" style="table-layout: fixed;">                       <tbody><tr>                         <td width="25" valign="top" align="center" style="padding-top: 3px;"><img src="../images/color1/read.gif"/></td>                         <td><span class="ellipsis"><a onclick="JS.eqxmpp('xiehq@china-channel.com')" href="#"><img border="0" align="absmiddle" src="../images/eq_talk.gif"/></a> 谢惠卿,</span></td>                         <td width="142" valign="top" style="text-indent: 4px; font-size: 11px; white-space: nowrap;">2009-10-30 10:59:58</td>                        </tr>                        </tbody></table>                        <table width="100%" cellspacing="2" cellpadding="0" border="0" style="table-layout: fixed;">                        <tbody><tr>                          <td width="25" valign="top" align="center">                              <input type="checkbox" value="checkbox" name="checkbox" onclick="JS.thisinputClick(this);"/>                          </td>                          <td valign="top"><span class="ellipsis">Rulai  项目跟踪</span></td>                          <td width="50" valign="top" style="text-align: right;">                                        <img border="0" style="display: none;" src="../images/color1/attach.gif"/>                                         <img style="display: none;" alt="已答复" src="../images/color1/reply.gif"/> <img style="display: none;" alt="已转发" src="../images/color1/relay.gif"/></td>                        </tr>                      </tbody></table></span></div>
作者: dftx511619    时间: 2009-10-30 16:13
我给你提供三个方法,有个条件, 就是需要知道 这个Div的父节点,但是你如果你知道这个Div的 ID值, 就简单多了

第一种方法:

这种方法局限于你知道Id的情况下,
Browser("").Page("").WebElement("html id:=" & divId).GetROProperty("title")

第二种方法:

1. 如果这个Div是在Page页下,
   请这样做:
   Set bpObj = Browser("").Page("").Object 这样你就可以像Js那样来操作你所需要的对象了
   Set divObjs = bpObj.body.document.getElementsByTagName("div")
如果知道Div的ID, 那就 Set curDiv = bpObj.body.document.getElementById("divId")

然后, 你就可以获取它的属性值了, title !

2. 如果这个Div是在Frame下面, 方法类似!

只是 Set bpObj = Browser("").Page("").Frame("").Object

第三种方法

找到这个Div的父节点
然后通过获取其父节点下的 Div的属性来 获取

[ 本帖最后由 dftx511619 于 2009-10-30 16:20 编辑 ]
作者: kellyxie    时间: 2009-11-1 21:08
你好,使用下面格式,系统跑不了,请校正
Dim  emailDivParent,emailDivs
Set emailDivParent = Browser("企业邮局").Page("企业邮局").Frame("mail").WebElement("html id: = list","html tag:=DIV").Object
Set emailDivs = emailDivParent.ChildObjects(emailDiv)

For i = 0 to emailDivs.count()-1
        emailDivTitle = Browser("企业邮局").Page("企业邮局").Frame("mail").WebElement("html id: = list","html tag:=DIV").ChildObjects("index:=0").GetROProperty("title")
        msgbox (emailDivTitle)

Next
作者: kellyxie    时间: 2009-11-1 21:16
补充:1.目的层DIV的id是变化。
     2.假设已识别到目标层DIV,欲获取title,使用如下脚本,结果msgbox内容空白,是因为title信息存在换行吗?图在上面
Dim title
title =Browser("企业邮局").Page("企业邮局").Frame("mail").WebElement("html id:=1256896858.M119255P2639V0000000000000806I0000000000B8C09D_0.mail.china-channel.com,S=2065028:2,S").GetROProperty("title")
msgbox(title)
作者: blueeagle999    时间: 2009-11-3 10:13
有时候没必要舍近求远,你先通过class,name之类的属性来识别这个控件试试看,我看你这个控件的CLASS好像是currentMail,通过这个属性再加上个别的属性先去识别下看看。




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