web页面包含iframe的问题---感谢大家的关心,此贴已由超级版主pcl2004_27给出解决方法
我的web页最下面一块是引入iframe的版权页面.导致我动态读取不到iframe外的其它链接。我的动态读取语句如下:
set oDesc = Description.Create()
oDesc("Class Name").value="Link"
set objColl = Browser("供应商").Page("供应商").ChildObjects(oDesc)
NumberOfLists =ObjectColl.Count()
-----页面上本来有十几个link的,但因为页面下面有iframe的原因,跟踪以上语句发现读取的是iframe里的link,始终读取不到iframe外的link , 请问如何解决?
[ 本帖最后由 deso 于 2006-7-3 08:54 编辑 ] 不太明白你说的 原帖由 xiaonan 于 2006-6-27 10:29 发表
不太明白你说的
---------------------------------------
我是要取页面中link集合,然后分析link, 取到正确的link , 但发现取到的集合始终是iframe里的link集合. 这样的话,我就漏取和漏分析iframe外这个页面的link了, 自然也就得不到我要的结果了 iframe这个能够先去掉一下哇啦?跟你开发去商量一下,先弄个测试版,测完再放上去. 原帖由 xiaonan 于 2006-6-27 10:37 发表
iframe这个能够先去掉一下哇啦?跟你开发去商量一下,先弄个测试版,测完再放上去.
啊? 这样没解决问题啊! 系统是已经完成了的,难道要再去改系统 是不是参考了手册中如下的代码?
Sub ChildObjects_Example()
'The following example uses the ChildObjects method to find all the
'list objects on a Web page, and then to select an item in each list.
Set oDesc = Description.Create()
oDesc("micclass").Value = "WebList"
Set Lists = Browser("Mercury Interactive").Page("Mercury Interactive").ChildObjects(oDesc)
NumberOfLists = Lists.Count()
For i = 0 To NumberOfLists - 1
Lists(i).Select i + 1
Next
End Sub
这个例子,我去年的时候好像发贴说过,MI给的这个例子很不好理解。
除了这个以外,还有几个写的不对,或不清楚的。就不一一列举了。
[ 本帖最后由 lovetest6 于 2006-6-27 15:45 编辑 ] 原帖由 lovetest6 于 2006-6-27 15:09 发表
是不是参考了手册中如下的代码?
Sub ChildObjects_Example()
'The following example uses the ChildObjects method to find all the
'list objects on a Web page, and then to select an item in each list ...
是的, 但是不能解决页面中有iframe的问题,知道怎么解决页面包含iframe但要取到iframe外的ChileOjbects吗? 原帖由 deso 于 2006-6-27 09:28 发表
我的web页最下面一块是引入iframe的版权页面.导致我动态读取不到iframe外的其它链接。
我的动态读取语句如下:
set oDesc = Description.Create()
oDesc("Class Name").value="Link"
set ...
加上底下这句看看。
msgbox objcoll(0).GetROProperty("name")
你得到的是iframe的集合吧?? 原帖由 lovetest6 于 2006-6-27 15:44 发表
加上底下这句看看。
msgbox objcoll(0).GetROProperty("name")
你得到的是iframe的集合吧??
是的, 就是因为得到的只是iframe的集合,所以烦, 怎么得到不是iframe里的集合呢? 原帖由 lovetest6 于 2006-6-27 15:44 发表
加上底下这句看看。
msgbox objcoll(0).GetROProperty("name")
你得到的是iframe的集合吧??
msgbox objcoll(0).GetROProperty("name")
得到的是iframe的name 首先至少用
oDesc("html tag").value="A"比较好吧。
oDesc("Class Name").value="Link"似乎没找到。 是不是应该在tool-option-web里面设置些什么? 原帖由 lovetest6 于 2006-6-27 17:00 发表
首先至少用
oDesc("html tag").value="A"比较好吧。
oDesc("Class Name").value="Link"似乎没找到。
如果你的iframe里也有link的话, 那么找到的就是iframe里的link, iframe外的如何找呢? 另外,oDesc("html tag").value="A"和oDesc("Class Name").value="Link"的描述应该是一样的 呵呵关注一下 原帖由 songfun 于 2006-6-28 09:01 发表
呵呵关注一下
怎么没人帮忙解决一下啊sdlkfj7郁闷很久了。。。
试试下面的的方法
楼主,请把 oDesc("Class Name").value="Link" 改为 oDesc("Class Name").innertext ="Link"试试看看。不管问题是否得到解决,请把运行的结果发布上来。 原帖由 walker1020 于 2006-6-28 21:49 发表
楼主,请把 oDesc("Class Name").value="Link" 改为 oDesc("Class Name").innertext ="Link"试试看看。
不管问题是否得到解决,请把运行的结果发布上来。
首先,谢谢这位仁兄的支持~~~
描述性语句里 没有oDesc("Class Name").innertext ="Link" 这种语法吧? 运行的结果自然也就是"对象不支持引属性或方法 oDesc('...').innertext "
试试下面的的方法(续)
不好意思,自己对QTP还是不熟悉。 你用oDesc("innertext ").value="Link" 试试看。 原帖由 walker1020 于 2006-6-29 09:50 发表不好意思,自己对QTP还是不熟悉。 你用oDesc("innertext ").value="Link" 试试看。
多谢仁兄。。
link是class 的属性名, innertext是包含的文字吧? 怎么可能oDesc("innertext ").value="Link",自然也执行不出什么结果了... 实际操作中是否会激活 iframe外的link 呢,楼主是要测试什么功能,能说尽量说得明白些