51Testing软件测试论坛

标题: 对象不支持此属性和方法的解决 [打印本页]

作者: KingRight    时间: 2009-1-15 13:23
标题: 对象不支持此属性和方法的解决
我有个脚本如下:

Sub MyList()
Set tags = Browser("Web1").Page("Page1").Frame("iframe").Object.links
For Each element in tags
  If element.class = "sl" Then
     ...
  End If
Next
End Sub

实现的是得到页面的所有Link,然后对所有Link,当其class属性为sl时再进行后续处理。

但是执行到红色行时提示“对象不支持此属性或方法: 'element.class'”,我已用Spy查看了所有的Link都有class属性,而且我在Object Identification中也添加了Link的该属性,但是还是报这个错。

请高手帮忙看看,谢谢。

[attach]48633[/attach]

[attach]48632[/attach]

[ 本帖最后由 KingRight 于 2009-1-15 13:25 编辑 ]
作者: KingRight    时间: 2009-1-15 13:57
阿门,有高手指点不??
作者: asoqa    时间: 2009-1-15 14:09
这一句 If element.class = "sl" Then
改成 If element.className = "sl" Then
Object.links获取的是html archor的超链接对象,className对应的class属性
作者: KingRight    时间: 2009-1-15 14:23
标题: 回复 3# 的帖子
是这样吗?我看Link即有Class Name属性,又有class属性啊,而且是两个不同的值。请看图

[attach]48637[/attach]
作者: KingRight    时间: 2009-1-15 14:29
标题: 回复 3# 的帖子
大哥,我试了一下,果真可以呢。太厉害了,谢谢啊。

顺便问下你是怎么知道这些知识的? 关于这个的问题我help上和网上都找了,没找到相关资料呢。
作者: asoqa    时间: 2009-1-15 14:39
标题: 回复 5# 的帖子
Object.links获取的对象集合不是QTP对象,而是Html Dom对象。你用Object Spy查看得到的是QTP对象的属性,自然无法匹配。
用TypeName(element)可以看到对象类型是“HtmlAnchorElement”,对应Html Dom对象是anchor,到网上搜一下anchor的属性,其中className识别的就是class属性
作者: KingRight    时间: 2009-1-16 10:19
标题: 回复 6# 的帖子
哦,多谢,明白了。

另外,你知道怎么获取一个页面的所有checkbox吗? 象上面获取link一样。




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