|
呵呵,你这个是用什么工具语言开发的系统?我是碰到用JAVA开发的系统,也有跟你一样的问题,根本无法通过webtable来操作。于是我绕了个弯路,我先把页面上的元素组织到datatable中,然后再操作datatable就行了。组织的方法跟你相似,也是通过childobjects()方法,不过我成功了,嘿嘿。
还有个方法,跟你推荐下假兄的文章 http://www.51testing.com/?174770 ... e_itemid_95404.html ,你可以通过getElementsByTagName方法来尝试一下。
下面是我写的函数,看看有没有参考价值
Function TechnicianListBuild()
'构建********,返回TechnicianList的Datatable表
'****************************
Set TechRowNum=description.Create()
TechRowNum("class").value="tableRowCount"
TechRowNum("html tag").value="TD"
Set TechRowNumCollection=MainPage.Frame("name:=mainIframe").ChildObjects(TechRowNum)
' msgbox TechRowNumCollection.count
'****************************
Set TechDetail=Description.Create()
TechDetail("class").value=""
TechDetail("html id").value=""
TechDetail("outerhtml").value="\<TD\>.*\<\/TD\>"
TechDetail("html tag").value="TD"
TechDetail("outerhtml").RegularExpression=True
Set TechDetailCollection=MainPage.Frame("name:=mainIframe").ChildObjects(TechDetail)
' MsgBox TechDetailCollection.count
If TestDataSet.Exists("TechnicianList") Then
TestDataSet.Remove("TechnicianList")
Datatable.DeleteSheet("TechnicianList")
End If
Datatable.AddSheet("TechnicianList")
Datatable.GetSheet("TechnicianList").AddParameter "序号",""
Datatable.GetSheet("TechnicianList").AddParameter "编号",""
Datatable.GetSheet("TechnicianList").AddParameter "姓名",""
Datatable.GetSheet("TechnicianList").AddParameter "身份证号",""
Datatable.GetSheet("TechnicianList").AddParameter "籍贯",""
Datatable.GetSheet("TechnicianList").AddParameter "联系电话",""
'****************************
For i= 0 to TechDetailCollection.count
If TechDetailCollection.item(i).Getroproperty("innertext")<>"" and i>0 Then
techDetailStarNo=i
Exit for
End If
Next
For i=1 To TechRowNumCollection.Count
Datatable.GetSheet("TechnicianList").SetCurrentRow(i)
Datatable.GetSheet("TechnicianList").GetParameter("序号").Value=TechRowNumCollection.Item(i-1).Getroproperty("innertext")
Datatable.GetSheet("TechnicianList").GetParameter("编号").Value=TechDetailCollection.Item(techDetailStarNo).Getroproperty("innertext")
Datatable.GetSheet("TechnicianList").GetParameter("姓名").Value=TechDetailCollection.Item(techDetailStarNo+1).Getroproperty("innertext")
Datatable.GetSheet("TechnicianList").GetParameter("身份证号").Value=TechDetailCollection.Item(techDetailStarNo+2).Getroproperty("innertext")
Datatable.GetSheet("TechnicianList").GetParameter("籍贯").Value=TechDetailCollection.Item(techDetailStarNo+3).Getroproperty("innertext")
Datatable.GetSheet("TechnicianList").GetParameter("联系电话").Value=TechDetailCollection.Item(techDetailStarNo+4).Getroproperty("innertext")
techDetailStarNo=techDetailStarNo+5
Next
Datatable.ExportSheet "D:\Technicianlist.xls","Technicianlist"
Call TestDataSet.Add("TechnicianList","")
Set TechRowNum=Nothing
Set TechRowNumCollection=Nothing
Set TechDetail=Nothing
Set TechDetailCollection=Nothing
End Function |
|