使用xpath在svg下找到第n个孩子

时间:2015-06-27 14:50:02

标签: xml selenium xpath svg selenium-webdriver

我正在为svg标签下的元素编写xpath。我想获得第二个rect节点。

我的xpath找到所有3个节点,而我的要求是只找到第2个 -

xpath://*[name()='svg']/*[name()='rect' and @fill='#919EF9']

HTML示例,

<svg width="400" height="110">
<rect id="yui_3_6_0_1_1435305312018_1190" x="35.5" y="60.5" width="68" height="117" stroke="#FFFFFF" stroke-width="1" fill="#919EF9" rx="0" ry="0">
<rect x="176.5" y="65.5" width="68" height="48" stroke="#FFFFFF" stroke-width="1" fill="#919EF9" rx="0" ry="0">
<rect x="316.5" y="30.5" width="68" height="70" stroke="#FFFFFF" stroke-width="1" fill="#919EF9" rx="0" ry="0">
</svg>

2 个答案:

答案 0 :(得分:2)

使用[n]选择nth元素:

//*[name()='svg']/*[name()='rect' and @fill='#919EF9'][2]

答案 1 :(得分:1)

使用以下XPATH

//svg/rect[2]