我有以下代码可以找到svg中的所有g,但是如何在g和它们的路径值中获取这些路径元素呢?
我正在使用此网站进行测试:http://www.totalcorner.com/match/live_stats/57565755
相关代码:
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}")>, ...]
我如何使用它来查找路径值? 非常感谢
我的更新解决方案:
感谢大家的努力。在Robert Longson的更新答案之后,我认为以下是更好的解决方案:
nodes = driver.find_elements_by_xpath("//div[@id='all_container']/*[@id='highcharts-0']/*[name()='svg']/*[name()='g']/*[name()='path']")
for node in nodes:
print(node.get_attribute("d"))
因为如果使用driver.find_elements_by_tag_name我无法区分路径,我认为上面的答案更好。
答案 0 :(得分:3)
您正在获取一个列表,请尝试:
href
如果您正在寻找某个属性的值,请使用以下内容(此处以print(node.get_attribute('href'))
为例):
org.eclipse.ui.ide
答案 1 :(得分:2)
find_elements_by_tag_name可用于查找路径子项。
一旦你有了这些,get_attribute(&#34; d&#34;)将获得路径值。
E.g。
for node in nodes:
paths = node.find_elements_by_tag_name("path")
for path in paths:
value = path.get_attribute("d")