我有类似的HTML:
<tr>
<td>
<span>
<span class = "x28w"></span>
</span>
<td>
<span>
<a>
<span>3899393</span>
</a>
</span>
</td>
</tr>
<tr>
<td>
<span>
</span>
<td>
<span>
<a>
<span>3899394</span>
</a>
</span>
</td>
</tr>
所以基本上第一个跨度是空白的,但是如果下面有一个带有类"x28w"
的子跨度,它将显示一个图标。第二个(即3899393
)是一个案例编号。
我想用Java List<String>getCasesWithAlert()
编写一个selenium方法。
我可以执行findElements(By.xpath("//tr"))
,遍历元素,检查当前tr是否有td/span/span[contains(@class,'x28w')]
。
如果有,则取出行,找到子td元素,获取第二个元素并找到元素a / span然后获取文本。但这有点复杂。
我是否可以使用某种xpath表达式(如follow-sibling等)在一个表达式中查找包含警报图标(类x28w)的案例?
答案 0 :(得分:0)
对于每个tr
,您可以检查第一个td
是否符合条件,并从第二个span
获取所需的td
元素:
//tr[td[1][span/span[contains(@class,'x28w')]]]/td[2]/span/a/span