如何在selenium中使用其属性及其文本查找html标记?

时间:2017-05-12 17:07:58

标签: java selenium xpath selenium-webdriver

我有一个标签,让我们说

<td columnname="ID">DS199</td>.

现在,我必须根据属性 columnname 和标签的文本使用selenium找到此标记。 我用过的代码:

driver.findElement(By.xpath("//td[@columnname='ID' AND (text()='DS199')]"));

输出:

org.openqa.selenium.InvalidSelectorException:invalid selector: Unable to locate the element with the xpath expression //td[@columnname='ID' AND (text()='DS199')]

如果要在标记上验证多个条件,请告诉我获取webelement对象的正确方法。

2 个答案:

答案 0 :(得分:1)

试试这个。也许你的文字中有一些前导或尾随空格

"//td[@columnname='ID'][normalize-space(text())='DS199']"

答案 1 :(得分:1)

它是and,而不是AND

//td[@columnname='ID' and (text()='DS199')]

此外,您可能希望测试td

的字符串值
//td[@columnname='ID' and .='DS199']

如果您还想匹配,请说

<td columnname="ID"><b>DS199</b></td>

或者,如果您想要对空白进行标准化,则会更加健壮,

//td[@columnname='ID' and normalize-space()='DS199']
相关问题