xpath无法区分类似的链接文本

时间:2013-02-20 19:29:58

标签: java html xpath webdriver

我有一个html页面,上面有两个链接,链接文字类似:

'记录办公室'和'布鲁克林记录办公室'

如果我使用此xpath,它将找到第二个链接: “//a[starts-with(.,'Brooklyn')]” - 到目前为止一切顺利。

但是,如果使用相同的xpath但查找第一个链接(以“Office”一词开头),则它不起作用: “//a[starts-with(.,'Office')]” - '无法找到元素'

我尝试使用正则表达式('^ Office'),但这不起作用。 我试过'contains'而不是'starts-with',但是这也没有用,因为一个字符串是另一个字符串的子字符串。

欢迎任何建议!

修改

我读了规范,就像我认为的那样:如果string1以string2开头,则返回true:starts-with(string1,string2)

我模拟了一些xml来测试这个在线测试器:

<?xml version="1.0"?>
    <note>
        <record>
          <a>Office</a>
          <a>Brooklyn Office</a>
        </record>
    </note>

我发现没有办法指向第一个节点('Office')到'starts-with'或'contains'

2 个答案:

答案 0 :(得分:0)

问题解决了! 所以,这不起作用:     //一个[开始-与(。, '办公室')]

这样做:     / * /记录/ A [开始-与(。, '办公室')]

答案 1 :(得分:0)

//a[text()='Office of Records']//a[text()='Brooklyn Office of Records']

不要过于复杂化;)