我有一个类似于以下的HTML
<table>
<tr>
<td class='1'>
<div>
<a class='abc'> element1 </a>
</div>
</td>
<td class='2'></td>
<td class='3'>
<img id='generated id' class='xyz' />
</td>
</tr>
</table>
我有一个element1作为函数的参数。当我得到element1时,我需要遍历img标签并点击它。
我尝试了xpath选择器
WebElement e = driver.getelementbyXpath("//a[contains(@class,'abc')
and text()='element1')"]);
WebElement e2 = e1.findelementbyxpath("../..//img[contains(@id,'something')
and contains(@class='xyz')]");
这不起作用。
答案 0 :(得分:1)
您的“element1”文本节点两侧都有空格填充。
"//a[contains(@class,'abc') and text()=' element1 ')"
会工作;)
此外,你使用了太多contains
,我认为与[@class='abc']
[@id='blah..']
相比效率非常低。