在Selenium测试中使用XPath通过Text获取WebElement

LIN*_*NGS 5 css java selenium xpath selenium-webdriver

我想使用XPath找到任何基于文本的WebElement.

我有兴趣发现的WebElement,

我感兴趣的WebElement

它的HTML,

它的CSS

基本上我试图通过Text检索的WebElement包含一个输入元素.

我目前用的,

driver.findElement(By.xpath("//*[normalize-space(text()) = 'Own Hotel']"));
Run Code Online (Sandbox Code Playgroud)

它没有找到上面的WebElement,但它通常用于检索所有其他Web元素.

甚至,

By.xpath("//*[contains(text(),'Own Hotel')]")
Run Code Online (Sandbox Code Playgroud)

没有给我任何结果.虽然我对精确的文字匹配感兴趣.

我正在寻找一种方法来找到web元素中存在的元素的文本非物质的web元素.如果文本匹配,则应返回WebElement.

谢谢!

nil*_*esh 5

似乎文本被包装在标签内而不是输入.试试这个

driver.findElement(By.xpath(".//label[text()[normalize-space() = 'Own Hotel']]"));
Run Code Online (Sandbox Code Playgroud)

有关于这个XPath模式很好的解释在这里