deso 发表于 2006-6-27 09:28:40

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:23

不太明白你说的

deso 发表于 2006-6-27 10:33:02

原帖由 xiaonan 于 2006-6-27 10:29 发表
不太明白你说的
---------------------------------------

我是要取页面中link集合,然后分析link, 取到正确的link , 但发现取到的集合始终是iframe里的link集合. 这样的话,我就漏取和漏分析iframe外这个页面的link了, 自然也就得不到我要的结果了

xiaonan 发表于 2006-6-27 10:37:45

iframe这个能够先去掉一下哇啦?跟你开发去商量一下,先弄个测试版,测完再放上去.

deso 发表于 2006-6-27 10:47:02

原帖由 xiaonan 于 2006-6-27 10:37 发表
iframe这个能够先去掉一下哇啦?跟你开发去商量一下,先弄个测试版,测完再放上去.

啊? 这样没解决问题啊! 系统是已经完成了的,难道要再去改系统

lovetest6 发表于 2006-6-27 15:09:13

是不是参考了手册中如下的代码?
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 编辑 ]

deso 发表于 2006-6-27 15:37:02

原帖由 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吗?

lovetest6 发表于 2006-6-27 15:44:03

原帖由 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的集合吧??

deso 发表于 2006-6-27 15:51:14

原帖由 lovetest6 于 2006-6-27 15:44 发表


加上底下这句看看。
msgbox objcoll(0).GetROProperty("name")

你得到的是iframe的集合吧??

是的, 就是因为得到的只是iframe的集合,所以烦, 怎么得到不是iframe里的集合呢?

deso 发表于 2006-6-27 16:00:28

原帖由 lovetest6 于 2006-6-27 15:44 发表


加上底下这句看看。
msgbox objcoll(0).GetROProperty("name")

你得到的是iframe的集合吧??

msgbox objcoll(0).GetROProperty("name")
得到的是iframe的name

lovetest6 发表于 2006-6-27 17:00:04

首先至少用
oDesc("html tag").value="A"比较好吧。
oDesc("Class Name").value="Link"似乎没找到。

lovetest6 发表于 2006-6-27 17:04:02

是不是应该在tool-option-web里面设置些什么?

deso 发表于 2006-6-28 08:55:39

原帖由 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:57

呵呵关注一下

deso 发表于 2006-6-28 15:00:32

原帖由 songfun 于 2006-6-28 09:01 发表
呵呵关注一下

怎么没人帮忙解决一下啊sdlkfj7郁闷很久了。。。

walker1020 发表于 2006-6-28 21:49:06

试试下面的的方法

楼主,请把   oDesc("Class Name").value="Link"   改为 oDesc("Class Name").innertext ="Link"试试看看。
不管问题是否得到解决,请把运行的结果发布上来。

deso 发表于 2006-6-29 08:48:57

原帖由 walker1020 于 2006-6-28 21:49 发表
楼主,请把   oDesc("Class Name").value="Link"   改为 oDesc("Class Name").innertext ="Link"试试看看。
不管问题是否得到解决,请把运行的结果发布上来。

首先,谢谢这位仁兄的支持~~~

描述性语句里 没有oDesc("Class Name").innertext ="Link" 这种语法吧? 运行的结果自然也就是"对象不支持引属性或方法 oDesc('...').innertext    "

walker1020 发表于 2006-6-29 09:50:50

试试下面的的方法(续)

不好意思,自己对QTP还是不熟悉。 你用oDesc("innertext ").value="Link" 试试看。

deso 发表于 2006-6-29 11:06:50

原帖由 walker1020 于 2006-6-29 09:50 发表
不好意思,自己对QTP还是不熟悉。 你用oDesc("innertext ").value="Link" 试试看。

多谢仁兄。。

link是class 的属性名, innertext是包含的文字吧? 怎么可能oDesc("innertext ").value="Link",自然也执行不出什么结果了...

yangkinki 发表于 2006-6-29 12:01:39

实际操作中是否会激活 iframe外的link 呢,楼主是要测试什么功能,能说尽量说得明白些
页: [1] 2 3
查看完整版本: web页面包含iframe的问题---感谢大家的关心,此贴已由超级版主pcl2004_27给出解决方法