51Testing软件测试论坛

标题: 求WebElement属性值的读取方法 [打印本页]

作者: wspc    时间: 2011-9-24 13:13
标题: 求WebElement属性值的读取方法
这是我录制的脚本[attach]75417[/attach][attach]75415[/attach]和一张附带的图。我想把图中[attach]75416[/attach]表格中所有的数据都读取出来,请大家在百忙之中抽点时间看下怎么办,谢谢了,我偿试了好多次都没有成功。
作者: Ganve_001    时间: 2011-9-24 15:06
直接用webtable。。
作者: wspc    时间: 2011-9-24 17:29
回复 2# Ganve_001


    WebTable 加在Link后面么?
作者: Ganve_001    时间: 2011-9-24 17:50
本帖最后由 Ganve_001 于 2011-9-24 17:59 编辑

你先定位具体是哪个webtable,
然后获取row
Browser().Page().WebTable().RowCount
循环row,
Browser().Page().WebTable().ColumnCount(row)获取column
循环column 取值Browser().Page().WebTable().GetCellData(row,column)

Eg.
iRow = Browser().Page().WebTable().RowCount

For i = 1 to iRow
   iColumn = Browser().Page().WebTable().ColumnCount(i)
   For j = 1 to iColumn
     cellData = Browser().Page().WebTable().GetCellData(i,j)
     ******'值要用来干什么或者放哪里
    Next
Next  

只是思路 具体要看你怎么用
作者: wspc    时间: 2011-9-24 19:02
回复 4# Ganve_001
我在属性库里已经添加了些属性,提示对象不支持此属性和方法如图[attach]75423[/attach]
作者: wspc    时间: 2011-9-24 19:03
[attach]75424[/attach]
作者: Ganve_001    时间: 2011-9-24 19:29
1.Link后面不能跟Webtable的,通俗来说 WebTable是Page上面的东西,不是Link 上面的东西
你那上面写的都有问题,For 循环你直接Copy也有问题
2.你把webtable抓到对象库内,具体操作就是 打开object repository ,先点add object再去点那个表格点边沿(注意要抓对),抓到对象库里面后,把对象库截个图贴上来。
3.其他我来写
作者: wspc    时间: 2011-9-24 20:55
回复 7# Ganve_001


    好的,如图[attach]75425[/attach]先谢谢了,呵呵
作者: 阳光下的橙子    时间: 2011-9-25 00:14
对新人来讲,最简单暴力的方法应该是对web table直接用Out put value的方法
作者: Ganve_001    时间: 2011-9-25 00:16
1.里面节点东西挺多啊·  没抓到啊.你要看到底是那个webtable

上面那张图 你把鼠标选中【WebTable:最近更新 】那个节点 点击OK

msgbox Browser("09级已办理离校顶岗实习名单-新闻中心").Page("09级已办理离校顶岗实习名单-新闻中心").WebTable("最近更新").Row

看下等于多少,如果跟一楼那个表格的行数一致 那就是“最近更新”那个webtable  。不是 那就换其他的webtable试

确定webtable之后

iRow = Browser("09级已办理离校顶岗实习名单-新闻中心").Page("09级已办理离校顶岗实习名单-新闻中心").WebTable("最近更新").RowCount

For i = 1 to iRow
   iColumn = Browser("09级已办理离校顶岗实习名单-新闻中心").Page("09级已办理离校顶岗实习名单-新闻中心").WebTable("最近更新").ColumnCount(i)
   For j = 1 to iColumn
     cellData = Browser("09级已办理离校顶岗实习名单-新闻中心").Page("09级已办理离校顶岗实习名单-新闻中心").WebTable("最近更新").GetCellData(i,j)
     msgbox cellData
   Next
Next
作者: wspc    时间: 2011-9-26 12:42
回复 10# Ganve_001


    谢谢了,我晚上回去偿试下,呵呵.
作者: wspc    时间: 2011-9-26 20:57
回复 10# Ganve_001


    谢谢你,你真帅,呵呵,方法完全正确,高手啊
不过怎样将读出来的数据全部存进EXCEL表中呀?
作者: Ganve_001    时间: 2011-9-27 09:45
写到E盘,运行完会自己出现一个实习名单的xls,下面的可以参考下,直接写的 没调试。。有问题你就调调看
FilePath = "E:\实习名单.xls"
Set Fso  = CreateObject("Scripting.FileSystemObject")
If Fso.FileExists(FilePath) = False Then
  Set objExcel  = CreateObject("Excel.Application")
  Set objWorkBook = objExcel.Workbooks.Add
  Set objWorkSheet = objWorkBook.ActiveSheet

iRow = Browser("09级已办理离校顶岗实习名单-新闻中心").Page("09级已办理离校顶岗实习名单-新闻中心").WebTable("最近更新").RowCount

For i = 1 to iRow
   iColumn = Browser("09级已办理离校顶岗实习名单-新闻中心").Page("09级已办理离校顶岗实习名单-新闻中心").WebTable("最近更新").ColumnCount(i)
   For j = 1 to iColumn
     cellData = Browser("09级已办理离校顶岗实习名单-新闻中心").Page("09级已办理离校顶岗实习名单-新闻中心").WebTable("最近更新").GetCellData(i,j)
     objWorkSheet.Cells(i,chr(64+j)) = cellData
   Next
Next
objWorkBook.SaveAs(FilePath)
objExcel.Workbooks.Close
objExcel.Quit
Set objWorkBook = Nothing
Set objExcel = Nothing
End If

作者: wspc    时间: 2011-9-27 21:37
不得不佩服你啊,呵呵。
作者: da乐    时间: 2011-9-27 22:27
按F1
选择 webelement属性
作者: 阿星爱美酒    时间: 2011-9-27 23:11
学习中。。。




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