开朗幽默 发表于 2012-2-21 16:58:02

三个属性相同的对象,如何区分?

如图,“密码不能为空”有三个,我要如何区分这三个对象呢?
使用正则表达式Browser("管理中心").Page("管理中心").Frame("frame_content").WebElement("html id:="&"RfvOldPwd","index:="&"0"),应该是第一个“密码不能为空”吧,但实际上后边两个也可被识别到,晕。。。。请高手指点

webjj 发表于 2012-2-21 18:03:43

设置参数,参数化后,就可以啦,而且这Jqurey有问题吧

开朗幽默 发表于 2012-2-22 09:24:41

怎么设置?

yyc2164708 发表于 2012-2-22 10:49:23

DOM试下呢

开朗幽默 发表于 2012-2-22 10:53:46

回复 4# yyc2164708


    呃。。。。不会诶,请指点

yyc2164708 发表于 2012-2-22 15:02:35

可以把3个密码输入框外面的那个大框看做父对象
然后获取文本框子对象,长度应该是3
然后循环遍历每一个输入框输入内容

17800455 发表于 2012-2-22 19:06:21

为每个文本框,建立索引。用索引去区别。

Shawn_xiao 发表于 2012-2-22 21:41:40

我只会WebTable。。。

开朗幽默 发表于 2012-2-23 10:29:43

回复 7# 17800455


    怎么建立索引?

开朗幽默 发表于 2012-2-23 16:16:50

set WebElement=Browser("业务管理中心").Page("业务管理中心").Frame("frame_content").WebTable("密码修改").ChildItem(2,2,"WebElement",1)
我这样来建立索引,怎么不对呢,提示General run error.

今天有雾 发表于 2012-2-24 14:28:29

请尝试使用description对像,或是ChildObjects对像

026300 发表于 2012-2-27 10:06:29

楼上正解

yyc2164708 发表于 2012-3-15 08:17:52

回复 12# 026300


    楼上楼上正解

lujian2036 发表于 2012-3-17 12:29:19

请尝试使用description对像,或是ChildObjects对像
今天有雾 发表于 2012-2-24 14:28 http://bbs.51testing.com/images/common/back.gif


可以使用childobjects判断当前存在几个“密码不能为空”的WebElement
这里看你使用了index来判断,由于三个控件属性相同,就是说即使新密码及原始密码后面出现了“密码不能为空”,第三个也仍然会被识别,因为它的确是第一个满足你所描述的条件的WebElement,所以使用index是不能判断到底是哪个控件出现了
如果你的页面如你的截图,总共9个WebElement,可以先使用childobjects,判断存在几个“密码不能为空”,如果是3个 那就全部存在,如果是2个,使用
WebElement("index:=3")获取第四个
WebElement的text是否为”新 密 码“,如果是,那第一个“密码不能为空”就存在,然后判断第6个
WebElement的text是否为“确认密码”,就知道第二个“密码不能为空”是否存在

正在更新 发表于 2012-3-17 13:33:58

使用description对像获取父窗口下符合description对像描述条件的ChildObjects对像 使用循环语句逐个操作

da乐 发表于 2012-3-20 15:52:42

:)添加对象,在对象中设置Y坐标
呵呵 很简单的事情

lifr 发表于 2012-3-21 21:47:21

试试这个函数
' find all elements with given innertext.
'
' @param strText innertext
' @param strTag element tag, such as SPAN
' @return array of items. Empty Array if nothing found
Function GUI_Html_FindElementAll(objContainer, strText, strTag)

    Set desc = Description.Create()
    desc("innertext").Value = strText
    desc("innertext").RegularExpression = False
    desc("html tag").Value = UCase(strTag)
    desc("html tag").RegularExpression = False

    desc("visible").Value = True
    desc("micclass").Value = "WebElement"

    Set cl = objContainer.ChildObjects(desc)
    Set desc = Nothing

    ReDim retAry(cl.count -1)
    For idx=0 To cl.count -1
      Set retAry(idx) = cl(idx)
    Next

    GUI_Html_FindElementAll = retAry
End Function
页: [1]
查看完整版本: 三个属性相同的对象,如何区分?