【发布时间】:2018-02-26 18:15:21
【问题描述】:
我只需要点击一个特定的单元格 (2,1)。我不确定如何单击该单元格。就我而言,它始终是同一个单元格。
我有这段代码,它只是从单元格 (2,1) 中读取值。之后,如何单击该单元格?整个单元格是一个链接。我不需要使用 for 循环来遍历并找到价值。我只需要直接单击该单元格。
myvalue= Browser("aa").Page("aa").WebTable("tb").GetCellData(2,1)
请指教。
更新 #1 1
myvalue= Browser("aa").Page("aa").WebTable("tb").GetCellData(2,1)
'值返回“dsfsdf sdfsdfdsf DOB: 1/01/2015 Member ID: 8587”
2 我检查了 chrome 中的单元格。我看到了:
<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 将单元格作为链接。
我应该先转到单元格然后找到链接然后单击它吗?我研究了一整天,但没有运气。请指教。
更新 #2
这是一个点网页面。
set rowObject = Browser("aa").Page("aa").WebTable("tb").Object.getElementsByTagName("tr").item(1)
如果我保留 item(1),它会按预期点击第二行。索引 0 是标题。索引 1 是第 2 行。
如果我更改为 item(2),它什么也不做。
如果我更改为 item(4),它会单击第 3 行(索引 2)。相反,它应该单击第 5 行(索引 4)。
如果我更改为 item(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)
【问题讨论】: