使用Selenium(Python)获取svg中的路径
我有以下代码可以在svg中找到所有的g,但是我如何才能在g中找到这些路径元素及其路径值 我正在使用此网站进行测试: 相关代码:使用Selenium(Python)获取svg中的路径,python,selenium,svg,Python,Selenium,Svg,我有以下代码可以在svg中找到所有的g,但是我如何才能在g中找到这些路径元素及其路径值 我正在使用此网站进行测试: 相关代码: nodes = self.driver.find_elements_by_xpath("//div[@id='all_container']/*[@id='highcharts-0']/*[name()='svg']/*[name()='g']") 我已经试过了: nodes = self.driver.find_elements_by_xpath("//div[@i
nodes = self.driver.find_elements_by_xpath("//div[@id='all_container']/*[@id='highcharts-0']/*[name()='svg']/*[name()='g']")
我已经试过了:
nodes = self.driver.find_elements_by_xpath("//div[@id='all_container']/*[@id='highcharts-0']/*[name()='svg']/*[name()='g']/*[name()='path']")
但我得到的是这样的东西:
[<selenium.webdriver.remote.webelement.WebElement (session="fb86fb35-d2fa-974a-af32-a15db1b7459d", element="{c1dad34f-764d-0249-9302-215dd9ae9cd8}")>, <selenium.webdriver.remote.webelement.WebElement (session="fb86fb35-d2fa-974a-af32-a15db1b7459d", element="{a53816f4-9952-ab49-87ac-5d79538a855d}")>, ...]
由于如果使用driver.find_elements_by_tag_name,我无法区分路径,因此我认为上面的答案更好。您将获得一个列表,请尝试:
for node in nodes:
print(node.text)
如果您正在查找某个属性的值,请使用以下(href
此处作为示例):
可用于查找路径子级
一旦有了这些属性,get_属性(“d”)将获得路径值
例如
不,打印那些节点只会给我这样的sthg:[,…]您是否对节点中的节点使用循环
:
?thx很多,它很有效。只需更改这一行:path=driver.find_elements_by_tag_name(“path”)thx每个人的努力都会找到所有路径,无论它们是否是g元素的子元素。
for node in nodes:
print(node.text)
print(node.get_attribute('href'))
for node in nodes:
paths = node.find_elements_by_tag_name("path")
for path in paths:
value = path.get_attribute("d")