2017-06-15 124 views
1

所以我在下面的位置链接包含文字“下载证书”RobotFramework:查找Xpath的包含文字

xpath=//*[@id="training_list_table"]/tbody/tr/td[5]/span/a/text() 

我想在我的搜索更具体的,这样它不只是接受任何旧的文本所以像...

xpath=//*[@id="training_list_table"]/tbody/tr/td[5]/span/a/text()='Download certificate' 

但这让我失望。做这种搜索的正确语法是什么?

+0

您应该检查'href'属性并查看是否有帮助。 – lauda

回答

1

如果我理解正确的话,你可以尝试这样的事:

xpath=//*[@id="training_list_table"]/tbody/tr/td[5]/span/a[contains(text(), 'Download certificate')] 

// * [包含(文本(), '')]的关键..

2

如果你想匹配链接

  • 包含文本"Download certificate"您可以使用

    //a[contains(., "Download certificate")] 
    
  • 开始用文字"Download certificate"

    //a[starts-with(., "Download certificate")] 
    
  • 确切的文本"Download certificate"

    //a[.="Download certificate"] 
    

如果有包含"Download certificate"在多个链接你可以指定一个合适的表通过特定属性,文本或索引,例如//td[5]//a[.="Download certificate"] - 您不必在您的XPath中包含祖先组,例如.../tbody/tr/td[5]/span/...