有个程序里很多表格,表格中的信息是动态显示的,要验证表格中的信息(WebElement)。
我尝试了一下,遇到一些问题:
object.ChildItem (Row, Column, MicClass, Index),按类型和索引返回单元格中的测试对象。
使用此方法时总提示我“缺少对象”,只有第一行第一列可以取到值,不知问题出在哪。
脚本:
On error resume next
'msgbox browser("浏览器").Page("页面").WebTable("表格").RowCount '获取行数 = 13 同理得到列数 11
For i = 1 to 13 '表格行号
For j = 1 to 11 '表格列号
m= browser("浏览器").Page("页面").WebTable("表格").ChildItemCount (i,j,"WebElement") '获取对象个数
set n = browser("浏览器").Page("页面").WebTable("表格").ChildItem(i,j,"WebElement",0) '指定一个对象
x = n.GetROProperty("outertext") '获取对象值
If m<>0 Then
msgbox "i="&i&" j="&j&" m="&m&chr(10)& " x="&x &chr(13)&Err.Description
End If
Err.Clear
Next
Next
结果都是报错“找不到对象”。
解决办法:
msgbox browser("浏览器").Page("Page").WebTable("首页").Getcelldata(i,j)
待解决问题:
如果我要知道新增的数据在第几行,那么需要先判断某个单元格的坐标,然后把此坐标与每一行的坐标进行对比 得出行的号码,然后根据行号 再去取出此记录的其它属性(列对应的值)。
但要知道每一行坐标,还是必须用ChildItem来GetROProperty。