<tbody>
<tr class="b">
<td class="t_l">betmatrix</td>
<td class="t_l">
<td class="t_r">dsdfsf</td>
<td class="t_r">NONE</td>
<td class="t_r">ALL</td>
<td class="t_r">NONE</td>
<td class="t_r">ALL</td>
<td class="t_r">ALL</td>
<td class="t_r">NONE</td>
<td class="t_r">ALL</td>
<td class="t_r">Not required</td>
<td class="t_r">1.11</td>
<td class="t_r">All User</td>
<td class="t_r">0.00</td>
<td class="t_r">2014-09-05</td>
<td class="t_r">2014-09-15</td>
<td class="t_r">2014-09-05</td>
<td class="t_r">1-admin</td>
<td class="t_r">
<td class="t_r">0.00</td>
<td class="t_r">0.00</td>
<td class="t_r">
<td class="t_r">
<a onclick="showBonusModificationLogs(53599)" href="#">History</a>
</td>
</tr>
<tr class="a">
<tr class="b">
<tr class="a">
</tbody>
这是我拥有的表格结构,我无法只搜索表格中的特定项目。
如何找到一行中的元素,然后点击该行末尾的按钮(如果找到)?
在这个例子中,我需要搜索单词:dsdfsf
其他表格更容易,因为类名不同。但是同样的方法在这里不起作用。
答案 0 :(得分:3)
正如@alecxe所指出的,你可以使用XPath。这可能有数百种不同的方法。但为了符合您的要求,我会使用://tr[td[text()='dsdfsf']]/td/a
。这表示:任何具有文本'dsdfsf'的列的行,都会找到一个带有锚标记的列。
答案 1 :(得分:2)
您可以找到元素By.xpath
:
WebElement element = driver.findElement(By.xpath('//table//tr[td[@class="t_r"] and text() = "dsdfsf"]/td[last()]'));
element.click();
xpath将搜索tr
内table
内td
的{{1}}类t_r
和文字dsdfsf
,然后搜索最后td
1}}在行内。