【已解决】qtp webtable.childitem 建立虚拟子对象后提示对象不存在
本帖最后由 黑羽祭 于 2012-12-12 11:25 编辑目的,进入51个人空间管理中,搜索内容,如果有搜索到对应的内容,则在选挚的勾选框
代码如下:
with Browser("个人空间管理").Page("个人空间管理")
rowcount=.WebTable("标题").RowCount
msgbox rowcount
columncout=.WebTable("标题").ColumnCount(1)
msgbox columncout
end with
For row=0 to rowcount-1
celldata=Browser("个人空间管理").Page("个人空间管理").WebTable("标题").GetCellData(row+1,2)
For i=1 to 2
Select Case i
Case 1
searchchar1="excel导入错误"
return=instr(1,celldata,searchar1)
If return<>0 Then
set oWebCheckBox =Browser("个人空间管理").Page("个人空间管理").WebTable("标题").ChildItem(row+1, 1, "WebCheckBox", 0)
oWebCheckBox.set"on"
Set oWebCheckBox=nothing
Exit for
End If
Case 2
searchchar2="qtp参数化报错"
return=instr(1,celldata,searchar2)
If return<>0 Then
set oWebCheckBox= Browser("个人空间管理").Page("个人空间管理").WebTable("标题").ChildItem(row+1,1,"WebCheckBox",0)
oWebCheckBox.set"on"
Set oWebCheckBox=nothing
Exit for
end if
End Select
next
Next
但是oWebCheckBox.set"on"
一直提示无该对象?这个是什么原因呢? 回复 1# 小丫头amy
大概看上去
set oWebCheckBox =Browser("个人空间管理").Page("个人空间管理").WebTable("标题").ChildItem(row+1, 1, "WebCheckBox", 0)
oWebCheckBox.set "on"
Set oWebCheckBox=nothing
这部分没什么问题啊。
检查下符号(不要用中文符号)啊,空格啊什么的看看
实在不行脚本发我邮箱,我帮你再看看
cydblack@163.com set oWebCheckBox =Browser("个人空间管理").Page("个人空间管理").WebTable("标题").ChildItem(row+1, 1, "WebCheckBox", 0)
oWebCheckBox.set"on"
貌似oWebCheckBox 返回的应该是个集合吧。。。。你把集合set on 不靠谱吧。。。。。 楼上正确。
看帮助,ChildItem Returns the collection of child objects contained within the object.
ChildItem这个方法返回一个子对象集。哪怕这个子对象集中只有1个对象,你也要用.item(0)来表示子对象集中的第一个对象。 回复 4# 泰然
采用这种objecet.item(i) 还是会报缺少对象的错误 回复 1# 小丫头amy
已解决,上代码:'''获取行和列
With Browser("个人空间管理").Page("个人空间管理")
rowcount=.WebTable("标题").RowCount
msgbox "行数 = " & rowcount
columncout=.WebTable("标题").ColumnCount(1)
msgbox "列数 = " & columncout
End With
For row=0 to rowcount-1
celldata=Browser("个人空间管理").Page("个人空间管理").WebTable("标题").GetCellData(row+1,2)
For i=1 to 2
Select Case i
Case 1
searchar1="excel导入错误"
return=instr(1,celldata,searchar1)
If return<>0 Then
set oWebCheckBox =Browser("个人空间管理").Page("个人空间管理").WebTable("标题").ChildItem(row+1, 1, "WebCheckBox", 0)
oWebCheckBox.set"on"
Set oWebCheckBox=nothing
Exit for
End If
Case 2
searchar2="qtp参数化报错"
return=instr(1,celldata,searchar2)
If return<>0 Then
set oWebCheckBox= Browser("个人空间管理").Page("个人空间管理").WebTable("标题").ChildItem(row+1,1,"WebCheckBox",0)
oWebCheckBox.set"on"
Set oWebCheckBox=nothing
Exit for
End if
End Select
Next
Next
你的问题在
searchchar1="excel导入错误"
return=instr(1,celldata,searchar1)
这句子,上面的变量searchchar1(注意有两个ch),到了下面searchar1(只有一组ch)了。
要不是我一行一行调下来,真是不容易发现。
粗心啊~ 回复 3# joykao
ChildItem(row+1, 1, "WebCheckBox", 0)
得到的是子集,但是,这句的最后一个参数0,等同于index:=0,所以就能确定下是哪一个了 回复 4# 泰然
ChildItem(row+1, 1, "WebCheckBox", 0)
得到的是子集,但是,这句的最后一个参数0,等同于index:=0,所以就能确定下是哪一个了 回复 7# 黑羽祭
开始么有看清楚,判断比较下来是单个的元素,语法么有错误,楼主把我给玩了哇,,变量名字前后不一致。。。。。;P 回复 9# joykao
粗心了,谢谢!!
页:
[1]