首页 文章

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

提问于
浏览
5

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

我有兴趣发现的WebElement,

WebElement that I am interested in

它的HTML,

Its CSS

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

我目前用的,

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

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

甚至,

By.xpath("//*[contains(text(),'Own Hotel')]")

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

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

谢谢!

1 回答

  • 5

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

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

    关于这个xpath模式有很好的解释here

相关问题