【问题标题】:Selenium XPath: how to get href value of a use attributeSelenium XPath:如何获取使用属性的 href 值
【发布时间】:2021-11-08 17:05:54
【问题描述】:

我正在尝试获取具有<use href= "#icon-map"> 属性的 svg 的 xpath 到目前为止,//*[local-name()='svg']/*[local-name()='use'] 路径有效,但它找到了 84 个条目。

如何修改 xpath 以便仅选择 href 为 "#icon-map" 的用户?

【问题讨论】:

标签: selenium xpath robotframework


【解决方案1】:

你可以用这个:

//*[local-name()='svg'][use[@href="#icon-map"]]

//*[local-name()='svg'][*[local-name()='use'][@href="#icon-map"]]

example

如果您的结果比您预期的要多,那么您应该使用更具体的元素路径或将您的查询放入 (..) 并将项目编号添加到 [..] 中,例如:

(//*[local-name()='svg'][use[@href="#icon-map"]])[2]

【讨论】:

    【解决方案2】:

    如果使用的是attribute,那么你可以这样做:

    //*[name()='svg']//*[@use and @href='#icon-map']
    

    上述解决方案还假设#icon-mapHTML DOM 中是唯一的

    【讨论】:

    • 我尝试了你的路径,但没有成功。我忘了提到<use href= "#icon-map"> 是svg 的直接子代。 #icon-map 确实是独一无二的。 HTML:<svg _ngcontent-wkv-c84="" soho-icon="" icon="map" aria-hidden="true" focusable="false" role="presentation" class="icon"><use href="#icon-map"></use></svg>
    • 我已经在上面更新了,如果您遇到任何问题,请尝试告诉我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-28
    相关资源
    最近更新 更多