List <WebElement> tableSituacao = driver.findElements(By.xpath("//*[@id=\"tabela\"]/tbody/tr/td[5][contains(text(),"+situacao+")]"));
如何在我的情况下使用normalize-space? &#34; situacao&#34;有空格
答案 0 :(得分:0)
要在situacao
中传递变量xpath
,您可以使用以下代码行:
List <WebElement> tableSituacao = driver.findElements(By.xpath("//*[@id='tabela']/tbody/tr/td[5][normalize-space()='" + situacao + "']"));
答案 1 :(得分:0)
使用以下代码:
//*[@id=\"tabela\"]/tbody/tr/td[5][normalize-space()='"+situacao+"')]
注意:如果您在_example_
之类的字符串中留有右侧空格(将_
视为空格),则此方法有效。但是如果你倾向于考虑空间中间和字符串如example example
那么它是一个完整的字符串,它会在第一个示例文本之前和最后一个示例文本之后删除空格。 / p>
答案 2 :(得分:0)
尝试在xpath表达式中使用单引号。在这里我假设suticao包含字符串“Example Example”:
List <WebElement> tableSituacao
= driver.findElements(
By.xpath("//*[@id='tabela']/tbody/tr/td[5][contains(text(),'" + suticao + "')]");
答案 3 :(得分:0)
没有必要使用XPath来处理这个问题。您只需.trim()
字符串。
List <WebElement> tableSituacao = driver.findElements(By.xpath("//*[@id='tabela']/tbody/tr/td[5][contains(text(),'" + situacao.trim() + "')]"));
我也会在XPath中使用'
而不是转义双引号\"
。我认为它更容易阅读。