Xpath根据Selenium中的条件标识节点所必需的。

时间:2013-07-11 15:49:08

标签: xpath selenium webdriver

我正在开展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]

1 个答案:

答案 0 :(得分:2)

问:(已修改)查找“a”下第6个“b”元素的值 - - 第2个“b”的值为“888” - 第4个“b”的值为“World is Great”

试试这个:

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

<强>注意: 但你的拳头尝试//a[b='888'][b='World is Great']/b[6]也应该有效。如果它没有为你的例子返回“bbb”,那么还有其他错误。