Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Selenium(Python)获取svg中的路径_Python_Selenium_Svg - Fatal编程技术网

使用Selenium(Python)获取svg中的路径

使用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

我有以下代码可以在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[@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")