Object 无法识别QTP 11中的WebEdit对象

Object 无法识别QTP 11中的WebEdit对象,object,vbscript,qtp,Object,Vbscript,Qtp,在基于Web的应用程序中设置WebEdit对象的值时,我遇到了一个问题。该网页是使用GWT开发的 请查找下面的代码 Function webeditObject(webeditProperty1, webeditValue1, webeditProperty2, webeditValue2) Set WebEditObj=description.Create WebEditObj("micclass").value="WebEdit" WebEditObj(webeditPr

在基于Web的应用程序中设置WebEdit对象的值时,我遇到了一个问题。该网页是使用GWT开发的

请查找下面的代码

Function webeditObject(webeditProperty1, webeditValue1, webeditProperty2, webeditValue2) 
   Set WebEditObj=description.Create
   WebEditObj("micclass").value="WebEdit"
   WebEditObj(webeditProperty1).value=webeditValue1
   WebEditObj(webeditProperty2).value=webeditValue2  
   Set webeditObject=WebEditObj
End Function
召唤

Set webeditObj = webeditObject("class", "grid-dropdownbox", "index" , "36")
If Browser(browserObj).Page(pageObj).WebTable(webtableObj).WebElement(webeditObj).Exist(0) Then
                           Browser(browserObj).Page(pageObj).WebTable(webtableObj).WebElement(webeditObj).Set dict.Item("id")  

End  If
我知道直到WebTable开始工作。但是它试图识别WebEdit,它无法识别对象

!![在此处输入图像描述][1]


请帮助我解决此问题。

您能否更改浏览器(browserObj).页面(pageObj).WebTable(webtableObj).WebElement(webeditObj).设置dict.Item(“id”)

进入
浏览器(browserverbj).Page(pageObj).WebTable(webtableObj).WebEdit(webeditObj).设置dict.Item(“id”)

Webelement()。设置“x”可能有效,但并不总是有效

******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************

您的WebEdit对象似乎位于WebTable中,因此请检查它是否是动态的(某些时间属性可能会动态更改)

而不是使用B().p().WebTable().WebEdit().set dict.Item(“id”)

尝试使用Set oEdit=B().p().Webtable().Childitem(行、列、“WebEdit”、索引)

oEdit.Set dict.Item(“id”)

确保文本框的长度

不要忘记添加可见属性(有时您可能在页面中只看到一个文本框,但页面中可能隐藏两个具有相同属性的文本框…这可能会在尝试设置值时出现问题…最好使用可见属性)


如果上面提到的无法解决问题,请告诉我。

此代码段在做什么:
MsgBox浏览器(browservebj).Page(pageObj).WebTable(webtableObj).WebEdit(“类:=网格下拉框”,“索引:=36”).Exist(0)
?还需要考虑的是:
索引
属性是页面绑定的,对于识别a
WebTable
中的对象不是很有用。如果要使用索引作为标识属性,请将
WebEdit
直接添加到页面对象下:
[…]浏览器(browservebj).page(pageObj).WebElement(webeditObj)[…]
这是在验证对象是否在页面中可用。@AutomatedChaos我按照您的建议执行了。但是运气不好。是的,我知道这就是为什么我要问的原因。它在你的语境中起什么作用?是否返回一个
?感谢Arun的回答,它现在正在工作。问题是访问错误的属性。