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> 我给你提供三个方法,有个条件, 就是需要知道 这个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 编辑 ] 你好,使用下面格式,系统跑不了,请校正
DimemailDivParent,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 补充: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) 有时候没必要舍近求远,你先通过class,name之类的属性来识别这个控件试试看,我看你这个控件的CLASS好像是currentMail,通过这个属性再加上个别的属性先去识别下看看。
页:
[1]