【问题标题】:Find the nth child under svg using xpath使用 xpath 查找 svg 下的第 n 个孩子
【发布时间】:2015-09-14 09:35:16
【问题描述】:

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

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

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>

【问题讨论】:

    标签: xml selenium xpath svg selenium-webdriver


    【解决方案1】:

    使用[n] 选择nth 元素:

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

    【讨论】:

    • 谢谢你的工作,不知道你以前没有尝试过。
    【解决方案2】:

    使用以下 XPATH

    //svg/rect[2]
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-11
    • 1970-01-01
    • 1970-01-01
    • 2016-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多