我需要确定完整的 xpath 以到达此处显示的第三个路径元素:
<div id="myID">
<div>
<svg version="1.1">
<g>
<g>
<g>
<g>
<g>
<g>
<path fill="green">
<path fill="orange">
<path fill-opacity="0.2">
...加上所有相关的结束标签。
我需要将此 xpath 与 Selenium-Webdriver 结合使用。通过查看此示例:Selenium WebDriver: clicking on elements within an SVG using XPath我知道我需要使用 local-name() 或 name() 方法与 SVG 元素交互,但我不确定如何合并初始嵌套 div 以及如何通过没有 ID 或其他元素的嵌套 g 元素要使用的信息。
如果您能提供帮助,在此先感谢您!
最佳答案
你可以通过每个级别的位置来获取它:
id('myID')/div/*[1]/*[1]/*[2]/*[1]/*[2]/*[3]
或者通过标签名:
id('myID')/div/*[name()='svg']/*[name()='g']/*[name()='g']/*[name()='g']/*[name()='g']/*[name()='path'][3]
或者简单地说:
id('myID')//*[name()='svg']//*[name()='path' and @fill-opacity='0.2']
关于xml - 无法确定用于不包含 ID 的嵌套 SVG 元素的 XPATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36781120/