求助:怎样获取WinlistView中的对象呢?
QTP将其识别为一个WinlistView对象。点击CEO或设计的区别只是点击的坐标的位置不同。有什么方法获取"CEO"或"设计"吗?让后我可以根据循环的次数确定其坐标,然后点击。大侠们,多多指教。。。 没太明白你的意思。。。你这个是表格吗?如果是表格,可以使用获取表格中值的childitem方法。。还有一个getcelldata方法取值 回复 2# 819longjiayan不是表格。。就是QTP将“名称”,"CEO"等整个识别为一个Winlistview,我想在想通过某个方法得到第一行的CEO中的“CEO”第二行的“设计”,通过什么方法才能得到这些值呢? LZ是想通过得到这些名称, 然后来进行选择操作么? 还是说只是取名称 回复 4# shingo0109
对,就是获取名称,获取名称后我就可以通过字符串比较,然后决定下面的操作。。 LZ看看这个帖子吧, http://bbs.51testing.com/viewthread.php?tid=117979&highlight=winlistview 回复 6# shingo0109
我看到了。。还是不知道该怎么解决这个问题。。。你能明白他写的意思吗?望指教。。 你录制一下,看一下qtp智能,是怎么取的。
难道qtp录制不了吗。 本帖最后由 shingo0109 于 2011-3-3 15:00 编辑
LZ参考以下代码中的函数试试, 因为我这边用任务管理器试了下,跑到这步“ Columns(iColumn) = Obj.GetColumnHeader(iColumn) "老是报“未指定的错误”的错误, 我也不清楚原因了.
ReDim Columns(10)
Set Obj = Window("搜狗音乐盒").WinListView("SysListView32")
cColumns = Obj.ColumnCount()
For iColumn = 0 To cColumns - 1
Columns(iColumn) = Obj.GetColumnHeader(iColumn)
Next
cItems = Obj.GetItemsCount
For iItems = 0 To cItems - 1
str ="第 "&iItems+1&" 首歌曲属性列表"& vbCr
For iColumn =0 To cColumns - 1
str = str &Columns(iColumn)&" = "& Obj.GetSubItem(iItems ,Columns(iColumn)) & vbCr
Next
Msgbox str
Next
Set Obj = nothing 回复 8# 17800455
是的。。点击CEO或设计唯一的区别就是点的位置不同,即坐标不同。所以我想通过循环,在循环中得到某一行的text值,如果跟我有的值相同,根据循环的次数,判断位置,就去点击相应地位置。 回复 9# shingo0109
我也是。所以还是不知该怎么办?? 帮顶了, 等待高手答案~~:D 查看HELP,winlistview对象有多种方法可用。
按照你描述的,可以试下以Get开头的那几个方法:GetItem,GetItemProperty,GetSubItem等等。。 回复 13# june.diny
我知道,可是我不知道用哪个方法。。看帮助我对方法的具体作用还是不清楚。。不知道该怎么用,调了半天,还是不对。。关键是对方法的作用不清楚。。你要清楚地话帮忙想下吧。。就是通过winlistview的自身的方法实现对某一项text值的获取。 回复 13# june.diny
我这边用任务管理器试了下你说的那些方法, 如GetItem, GetColumnHeader,GetSubItem, 为啥总是报错啊?
但我用GetItemsCount和ColumnCount这2个是可以输出值的
楼上知道原因么? 本帖最后由 june.diny 于 2011-3-3 17:55 编辑
借楼上的话题,以任务管理器为例:
ItemName = Dialog(..).WinListView(..).GetItem(2)
ItemName 就是要获取的值
注:GetItem括号里面的值是index,从0开始。。。 回复 15# shingo0109
我试了下都可以的,要不你重启下试试 With Dialog("Windows Task").WinListView("SysListView32")
For i = 0 To 5
sSub = "Image Name"
sReport = sReport + .GetSubItem(i, "Image Name") & vbTab
sReport = sReport + .GetSubItem(i, "PID") & vbTab
sReport = sReport + .GetSubItem(i, "CPU") & vbTab
sReport = sReport + .GetSubItem(i, "CPU Time") & vbTab
sReport = sReport + .GetSubItem(i, "Mem Usage")
sReport = sReport + vbCr
Next
sReport = sReport + .GetSubItem("QTPro.exe", 0) & vbTab
sReport = sReport + .GetSubItem("QTPro.exe", 1) & vbTab
sReport = sReport + .GetSubItem("QTPro.exe", 2) & vbTab
sReport = sReport + .GetSubItem("QTPro.exe", 3) & vbTab
sReport = sReport + .GetSubItem("QTPro.exe", 4)
sReport = sReport + vbCr
End With
Reporter.ReportEvent micDone, "Task Manager", sReport
End Sub 回复 16# june.diny
你知道为啥Columns(iColumn) = Obj.GetColumnHeader(iColumn) "老是报“未指定的错误”的原因吗? 回复 19# 小新弦子
我也是报这个错误啊。。不知是啥原因
页:
[1]
2