|
今天碰到很多问题,主要在控件识别上,有我昨天问的同一个控件名字会变的情况,也有两个控件的属性基本一样的,还有日历控件的文本框不能输入的问题。
1、ChildObjects的妙用,可以说,上面无论是同一个控件名字会变还是两个控件名称一样的问题都可以搞定。
控件会变的问题情况请看我另一个帖子里。
两个控件名称一样,我的一个页面两个webbutton,name、text等值都一样,不同的只有一个很长一串的有代码有css设置的字符串,如果用那么长一串的去用描述性编程来识别很麻烦,之前是用坐标,发现窗口移动以后识别不到了。
于是翻帮助,看到了ChildObjects,这个是我这几天一直想找的,也算是一种识别对象的方法。会返回一个控件数组。问题顺利搞定了,连控件名字会变的也搞定了,不需要知道他的名字,只要知道他是第几个就行了,下面是帮助的内容。
Sub ChildObjects_Example()
'The following example uses the ChildObjects method to find all the
'list objects on a Web page, and then to select an item in each list.
Set oDesc = Description.Create()
oDesc("micclass").Value = "WebList"
Set Lists = Browser("Mercury Interactive").Page("Mercury Interactive").ChildObjects(oDesc)
NumberOfLists = Lists.Count()
For i = 0 To NumberOfLists - 1
Lists(i).Select i + 1
Next
End Sub
2.给disabled的控件赋值。一般多为webedit,比如日历控件,点击直接弹出日历。我之前的解决办法是写了个函数帮助去点击到我想要的日期。今天忽然看到以前的老员工写的一个案例,一句话就搞定了,我实在佩服。方法就是用object.value赋值。
例如:browser().Page().WebEdit().object.value="2008-11-12"
用set是会报错的,用这个直接就把值给改掉了。 |
|