请教下childobject
我想通过childobject把页面中某个区域的所有链接都遍历一遍可以吗?是否可以使用x,y坐标实现??求高手解答 Set BrowserObj = Description.Create()
BrowserObj("micclass").Value = "Browser"
Set Win32Browser = Desktop.ChildObjects(BrowserObj)
For bindex = 0 to Win32Browser.Count - 1
Set PageObj = Description.Create()
PageObj("micclass").value = "Page"
Set Win32Page = Win32Browser(bindex).ChildObjects(PageObj)
For pindex = 0 to Win32Page.Count - 1
Set FrameObj = Description.Create()
FrameObj("micclass").Value = "Frame"
Set Win32Frame = Win32Page(pindex).ChildObjects(FrameObj)
For findex = 0 to Win32Frame.Count- 1
Set LinkObj = Description.Create()
LinkObj("micclass").Value = "Link"
Set Win32Link = Win32Frame(findex).ChildObjects(LinkObj)
For lindex = 0 To Win32Link.Count - 1
Win32Link(lindex).Click
Win32Browser(bindex).Sync
Next
Set Win32Link = Nothing
Set LinkObj = Nothing
Next
Set Win32Frame = Nothing
Set FrameObj = Nothing
Next
Set Win32Page = Nothing
Set PageObj = Nothing
Next
Set Win32Browser = Nothing
Set BrowserObj = Nothing 在一般的页面中无需使用Frame这一层,IE也不需要Count,如果确定了Page对象在哪里就更简单了
Set LinkObj = Description.Create()
LinkObj("micclass").Value = "Link"
Set Win32Link = Browser("已知的Browser").Page("已知的的Page").ChildObjects(LinkObj)
For lindex = 0 To Win32Link.Count - 1
Win32Link(lindex).Click
Browser("已知的Browser").Page("已知的的Page").Sync
Next
Set Win32Link = Nothing
Set LinkObj = Nothing 不需要用坐标。
用描述性变成就可以了。
先确定区域,是frame还是div,这些都可以DOM来解决。
然后描述link的属性,一般用micclass、html tag、html id三个属性来确定控件 可是我的link上面一层就是整个page了,如果把整个page中所有的link都遍历出来会有很多不需要的link。
而这些需要和不需要的link又没有属性一目了然,所以我想用区域来区分link。
而且childobjects遍历效率也不高啊,有没有相对简单的方法,比如坐标范围 回复 5# hepeihao
你试试index或sourceIndex吧 多谢了,其实我也找其他办法能解决
只是想问问有没有办法能直接取区域的方法实现,如果可以取区域以后很多地方都能派上用场,呵呵
回复 6# rogerliu0303
页:
[1]