我有以下HTML:
<div id="imageholder>
<svg>
<g> <image href='blah.gif'> </g>
</svg>
</div>
我似乎无法在firefox上找到带有selenium IDE的svg。我试过了:
//svg
//svg:svg
//*[name()='svg']
//*[namespace-uri()='http://www.w3.org/2000/svg']
他们都不能找到我的svg元素。有时我会收到错误:
error = TypeError: e.scrollIntoView is not a function
我正在使用它作为在JUnit 4测试中使用定位器的方法,如果这有帮助。
答案 0 :(得分:47)
尝试以下XPath表达式:
//*[local-name() = 'svg']
(至少在Chrome / FireBug控制台上运行,尚未尝试使用Selenium)
答案 1 :(得分:2)
问题是关于xPath,但是如果你可以使用CSS选择器,那将更具可读性,如此(Java)。
WebElement image = driver.findElement(By.cssSelector("#imageholder > svg > g > image"));
答案 2 :(得分:-1)
对于X-Path标识符,请尝试使用 -
//div[@id='imageholder']/svg/g/img
虽然我会推荐使用CSS(更易读,更容易构建):
css=img