xlink 的 Selenium/java-xpath :href attribute

标签 selenium svg xpath

我尝试为下面的代码段查找属性值为 '#aaa'use 元素

<svg>
    <use xlink:href='#aaa'></use>
</svg>

我能够使用 css 选择器 use[* |href='#aaa'] 进行定位。但我在 xpath 中需要它。我尝试了下面的 xpath 但它不起作用

(//*[name()='use'])[ * ='#aaa' or @href='#aaa']

注意:我需要使用值'#aaa'来区分其他元素。

有人可以帮忙构建这个 xpath吗?

最佳答案

您的谓词 [ * ='#aaa' 或 @href='#aaa'] 返回 false,因为没有 href 属性>(但是xlink:href),并且use没有包含文本内容'#aaa'的子节点。

请注意,任何属性的通配符是@*,而*则适用于任何节点(属性除外).尝试下面的 XPath

"//*[name()='use' and @*='#aaa']"

关于xlink 的 Selenium/java-xpath :href attribute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46273093/

相关文章:

java - 如何优化testng和selenium测试

javascript - d3js 中的简单哈希模式 SVG

javascript - D3.js:在其父 div 中居中响应饼图

php - 通过php表单修改我的xml文件

java - 难忘信息的写作测试 - 随机字符(从 10 个中选择 3 个)

java - Intellij IDEA java项目通过.bat文件执行

javascript - 启动 Selenium RC 时无法加载 user-extensions.js 中的自定义命令

css - 为 svg 设置关键帧属性

c - 使用 libxml2 的 XPath 在 XML 文档中查找命名空间节点时出现问题

Powershell:当元素具有 "xmlns"标记时,XPath 无法选择?