0

我正在做一个 Selenium 项目。

我有一个 HTML 文件(复制如下),我必须为其编写一个 XPath 表达式,以便找出“a”下的第 6 个“b”元素的值:

  • 第二个“b”的值为“888”并且
  • 第 4 个“666”的值为“World is Great”。

HTML 代码

 <a>
    <b>111</b>
    <b>222</b>
    <b>333</b>
    <b>444</b>
    <b>ttt</b>
    <b>uuu</b>
</a>

<a>
    <b>999</b>
    <b>888</b>
    <b>777</b>
    <b>World is Great</b>
    <b>aaa</b>
    <b>bbb</b>
</a>

我尝试了以下方法,但没有奏效。任何帮助将不胜感激。

//a[b='888'][b='World is Great']/b[6]

//a[contains(@b[2], '888') and contains(@b[4], 'World is Great')]/b[6]
4

1 回答 1

2

Q.:(修改)找出“a”下的第 6 个“b”元素的值,其中 - - 第 2 个“b”的值为“888”,并且 - 第 4 个“b”的值为“World”是很棒的”

尝试这个:

"//a[b[2]='888' and b[4] = 'World is Great' ]/b[6]"

注意:但你的第一次尝试//a[b='888'][b='World is Great']/b[6]也应该有效。如果它没有为您的示例返回“bbb”,那么还有其他问题。

于 2013-07-11T16:04:11.313 回答