我只需要点击一个特定的单元格(2,1) . 我不确定如何点击该单元格 . 就我而言,它总是与同一个细胞相同 .
我有这个代码只读取单元格(2,1)中的值 . 之后,我该如何点击该单元格?整个单元格是一个链接 . 我不需要使用for循环来找到 Value . 我只需要直接点击那个单元格 .
myvalue= Browser("aa").Page("aa").WebTable("tb").GetCellData(2,1)
请指教 .
Update # 1 1
myvalue= Browser("aa").Page("aa").WebTable("tb").GetCellData(2,1)
'value returns“dsfsdf sdfsdfdsf DOB:1/01/2015会员ID:8587”
我用铬检查过细胞 . 我看到了这个:
<td class="name" rowspan="1">
<a href="/id/5858"><span></span></a>
<h3>
dsfsdf sdfsdfdsf
</h3>
<table>
<tbody><tr>
<td>DOB:</td>
<td>1/01/2015</td>
</tr>
<tr>
<td>Member ID:</td>
<td>8587</td>
</tr>
</tbody></table>
</td>
- 在前端,我看到整个单元格是一个链接,但在源代码中,您只能看到一个元素是一个链接 . 我认为他们已经应用了css来将细胞作为一个链接 .
我应该首先进入单元格,然后找到链接,然后单击它?我整天研究但没有运气 . 请指教 .
Update # 2
这是一个点网页 .
set rowObject = Browser("aa").Page("aa").WebTable("tb").Object.getElementsByTagName("tr").item(1)
如果我保留项目(1),它会按预期点击第二行 . 索引0是 Headers . 索引1是第2行 .
如果我改为第(2)项,它什么都不做 .
如果我改为第(4)项,则点击第3行(索引2) . 相反,它应该单击第5行(索引4) .
如果我改为第(5)项,它什么都不做 . 奇怪的 . 所以这个答案并不是一贯的 . 我认为UFT在页面开发方面感到困惑 .
我接受了html源代码,然后在本地创建了一个html文件 . 将所有锚文本从空更改为某些文本:
<a href="/id/5554"><span>id2</span></a>
然后我使用了您发布的原始代码 . 对于所有行,它的工作正常 .
我将联系开发团队,看看他们是否可以添加锚文本,然后应用css来隐藏它 . 他们很可能不会做任何事情 .
我们也可以在这里将“链接”描述为“a”标签,因此UFT将查找“a”标签而不是链接文本/锚文本 .
set objLink = Browser("aa").Page("aa").WebTable("tb").ChildItem(intRow, intCol, "Link",0)
2 回答
使用webTable的 childitem 方法 .
尝试以下方法:
Update 2:
由于webtable单元格内部的链接没有任何与之关联的文本,因此UFT无法使用
ChildItem
方法找到它 . 这也可以使用webtable的ChildItemCount
方法进行验证 . 因此,我们现在需要使用object的本机方法,如下所示:尝试以下子程序 .
Note: 您应该知道要单击的对象的索引值 . 尝试使用Object Spy来了解项目的索引 . 如果设置了错误的索引,则可能无法单击所需的元素 .