0

我正在尝试打印页面上所有链接的名称。我写了下面的代码-->

SystemUtil.Run "Chrome.exe","www.timesofindia.com"
Dim obj, objects,objectnames,i
Set obj = Description.Create
obj("micclass").value = "Link"
objects = Browser("micclass:=browser").Page("micclass:=Page").ChildObjects(obj)
MsgBox Err.number
For i = 0 To obj.Count-1 Step 1
    childnames = objects.getROProperty("innertext")
    print childnames(i)
Next

我遇到了一般的运行错误objects = Browser("micclass:=browser").Page("micclass:=Page").ChildObjects(obj)

该行MsgBox Err.number给出错误号-2147467259

我试图用错误号--2147467259 找出原因,但没有得到任何相关答案。请帮忙。

4

2 回答 2

1

您的脚本有几处问题

  • 你需要Set对象,因为这是一个对象
  • For循环中,您应该不objects.count循环obj.count
  • For你应该使用的正文objects(i).GetROProperty中(你忘了用 索引i
  • Printchildnames无缘无故地索引的语句中

进行这些更改后,该脚本适用于我,但它有点慢,如果您仍然遇到问题,则可能是 UFT 在等待所有链接显示时超时。如果是这种情况,您可以将查询分成几个查询(例如,innertext以字母表中的每个字母开头的查询)并一个接一个地运行它们。

SystemUtil.Run "Chrome.exe","www.timesofindia.com"
Dim obj, objects,objectnames,i
Set obj = Description.Create
obj("micclass").value = "Link"
Set objects = Browser("micclass:=browser").Page("micclass:=Page").ChildObjects(obj)
If Err.Number <> 0 Then
    MsgBox "Error: " & Err.number   
End If

Print "Count " & objects.Count
For i = 0 To objects.Count-1 Step 1
    childnames = objects(i).getROProperty("innertext")
    print childnames
Next
于 2015-08-02T06:14:11.490 回答
0

我遇到了同样的问题并使用 on error resume next 语句解决了

On error resume next
Set desc = description.Create
desc("micClass").value = "WebElement"
set WElementobj = browser("creationtime:=0").page("title:=.*").ChildObjects(desc)
msgbox welementobj.count
For i = 0 to welementobj.count-1
    print welementobj(i).getroproperty("innertext")
Next

出现此问题的原因是并非所有对象都具有内部文本属性。

于 2016-12-08T13:58:33.700 回答