0

我有一个 html 页面,上面有两个链接,链接文本相似:

记录办公室”和“布鲁克林记录办公室

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

但是,如果使用相同的 xpath 但查找第一个链接(以单词 'Office' 开头),它不起作用:"//a[starts-with(.,'Office')]" - 'Unable定位元素'

我尝试使用正则表达式('^Office'),但没有奏效。我尝试了“包含”而不是“开始于”,但这也不起作用,因为一个字符串是另一个字符串的子字符串。

欢迎任何建议!

编辑

我阅读了规范,我认为它会起作用:如果 string1 以 string2 开头,则返回 true:starts-with(string1, string2)

我模拟了一些 xml 以在在线测试仪中进行测试:

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

我发现无法通过“starts-with”或“contains”指向第一个节点(“Office”)

4

2 回答 2

0

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

不要使事情过于复杂;)

于 2013-02-21T15:12:46.267 回答
0

问题解决了!所以,这不起作用: //a[starts-with(.,'Office')]

这样做了:/*/record/a[starts-with(.,'Office')]

于 2013-02-20T20:49:48.193 回答