我的表格如下所示: clm1 clm2 clm3
现在要求是我必须找到所有的' hi'然后单击同一行的另一个单元格。对于例如在第一次出现时,我必须点击1,再次点击3。
我能找到' hi'使用下面的代码,但如何在同一行上找到相应的单元格。
列出rows = driver.findElements(By.xpath(" // span [text()=' hi']"));
<table>
<tr class="abc">
<td class="efg">
<a id="asg">1</a>
</td>
</tr>
<tr class="abc">
<td class="efg">
<span>1</span>
</td>
</tr>
<tr class="abc">
<td class="efg">
<span>1</span>
</td>
</tr>
</table>
请在移动设备上输入时忽略拼写错误。 任何帮助将受到高度赞赏。
答案 0 :(得分:2)
By.xpath("//td[./span[text()='hi']]/../td[1]")
将返回该匹配行的第一列。
答案 1 :(得分:1)
这是C#中的简单内容。我希望你能将它转换为java。
var tableRows = driver.FindElements(By.TagName("tr"));
foreach(var tableRow in tableRows)
{
var td = tableRow.FindElements(By.TagName("td"));
if(td[2].Text.Contains("hi"))
{
td[0].FindElement(By.TagName("a")).Click();
}
}
答案 2 :(得分:0)
如果我明白你应该使用xpath:
.// yourow /跨度[否(文本()=&#39;您好&#39;)] [..//跨度[文本()=&#39;您好&#39;]]
你得到所有兄弟&#34;或者&#34;姐妹&#34;在html树中没有文本Hi但与单元格在同一行包含文本&#34;嗨&#34;