|
例如:
Dim objWebTable
Dim objLink
set objWebTable=Browser("×××").Page("×××").Frame("main").WebTable("礼品编号")
set objLink=Browser("×××").Page("×××").Frame("main").Link("后页")
MergeGiftID=FunMergeGiftID(objWebTable,objLink)
Function FunMergeGiftID(objWebTable,objLink)
Dim strText
Dim intRow
Dim TF
Dim ID
Dim GiftID
TF=false
Do
'strText=objWebTable.Object.outerHTML
'intRow=objWebTable.Object.rows.length
strText=objWebTable.GetROProperty("outerHTML")
intRow=objWebTable.GetROProperty("rows")
ID=FunGiftID(strText) '这里是一个获取当前页数据的函数,返回当前页的数据集合
If TF Then
GiftID=MergeArray(GiftID,ID) '这里是一个合并数组函数,返回合并后的数组(函数不存在问题)
else
GiftID=ID
End If
If intRow=11 and objLink.Exist(1) Then
objLink.Click '点击翻页
TF=True
else
Exit do
End If
Loop
FunMergeGiftID=GiftID
End Function
以上代码执行后的结果是:翻了多少页,第一页的数据就被获取了多少遍
分析原因估计是由于WebTable对象参数翻页后发生变化,但函数调用时传入的对象参数却是固定值,因此才造成问题
想请教大家是否有好的解决办法?
动态的对象参数是否有效地传入函数? |
|