RobotFramework:查找包含文本的Xpath

时间:2017-06-15 13:13:29

标签: xpath selector robotframework

因此,我在以下位置的链接包含“下载证书”字样

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'

但是这让我失望了。执行此类搜索的正确语法是什么?

2 个答案:

答案 0 :(得分: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/...中包含祖先群体request.write(JSON.stringify($scope.jsonToSend))

答案 1 :(得分:1)

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

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

// * [contains(text(),'')]是关键..