我刚刚开始使用Selenium,在某些地方卡住了,需要专家帮助。
这是我的HTML代码:
<div id='d3_tree'>
<svg>
<g transform="translate(20,50)>
<g class='node'>
</g>
<g class='node pe_node'>
</g>
<g class='node pe_node'>
</g>
</g>
</svg>
</div>
我需要选取所有class为pe_node
的<g>
元素,并对它们调用上下文菜单。
我已经尝试按以下方式获取svg文件:
node = self.driver.find_elements(By.XPATH, "//div[@id='d3_tree']/'svg']/g")
我读过一些资料,了解到 SVG 不能直接进行选择。因此,我尝试了以下方法:
nodes = self.driver.find_elements(By.XPATH, "//div[@id='d3_tree']/*[name()='svg']/g")
并且
nodes = self.driver.find_elements(By.XPATH, "//div[@id='d3_tree']/*[local-name()='svg']/g")
但是对我来说仍然不起作用,结果中出现了[]
。
有人可以指导我如何选择svg内class为pe_node的<g>
吗?
任何帮助都将不胜感激。
谢谢!
g
。 - jds