无法使用Python Selenium Webdriver找到SVG元素

时间:2016-05-05 10:03:05

标签: svg selenium-webdriver

我正在尝试在下面的XML代码中找到rect id值,但是将其作为Empty List。对此的任何帮助都非常赞赏!!!!!

<object id="nodia"
 < svg id="svg2"  xmlns:svg='http://www.w3.org/2000/svg'>
  < g id="layer1>
   <image id="image3022"></image>
   <rect id="rect8696"></rect>
   <rect id="rect8996-6" ></rect>
  </g>
 </svg>
</object>

在Chrome和Firefox中尝试了以下所有Possibilties:

driver.find_element_by_xpath(“// object [@ id ='nodia']”) - &gt;工作 driver.find_elements_by_xpath(“// [local-name()='svg'和namespace-uri()='http://www.w3.org/2000/svg']”) - &gt;返回空列表 driver.find_elements_by_xpath(“// [local-name()='svg']”) - &gt;返回一个 driver.find_elements_by_xpath(“// object [@ id ='nodia'] / svg”) - &gt;返回空列表

1 个答案:

答案 0 :(得分:0)

使用XPath获取每个id元素的rect属性:

for e in driver.find_elements_by_xpath("id('svg2')//*[name()='rect']") :
    print e.get_attribute("id")

或者使用CSS选择器:

for e in driver.find_elements_by_css_selector("#svg2 rect") :
    print e.get_attribute("id")