Selenium getText不适用于SVG xpath
我试图捕获并存储svg元素中出现的一些文本,例如Selenium getText不适用于SVG xpath,selenium,svg,xpath,Selenium,Svg,Xpath,我试图捕获并存储svg元素中出现的一些文本,例如 <svg> <g> <text>Value to get</text> </g> </svg> 我可以使用findElement(By.xpath(myXpath)),但是当我对它调用.getText()时,它不会返回任何值,也不会抛出任何错误 有没有什么我做错了,或者有没有其他的方法 另外值得注意的是,上述方法在Windows 7计算机上运行良好,
<svg>
<g>
<text>Value to get</text>
</g>
</svg>
我可以使用findElement(By.xpath(myXpath)),但是当我对它调用.getText()时,它不会返回任何值,也不会抛出任何错误
有没有什么我做错了,或者有没有其他的方法
另外值得注意的是,上述方法在Windows 7计算机上运行良好,但在Mac上不起作用。您是否尝试过一些简单的CSS选择器,
driver.findelelement(By.cssSelector(“svg>g>text”)).getText()代码>?你检查过页面上有多少匹配项吗?也许你得到的第一个匹配实际上里面没有文本。打开Chrome开发控制台,键入$$(“svg>g>text”).length
并查看它是否返回大于1的值
以下是一些CSS选择器参考:
您是否尝试过一些简单的CSS选择器,driver.findElement(By.cssSelector(“svg>g>text”)).getText()代码>?你检查过页面上有多少匹配项吗?也许你得到的第一个匹配实际上里面没有文本。打开Chrome开发控制台,键入$$(“svg>g>text”).length
并查看它是否返回大于1的值@JeffC,我以前没有用过cssSelector,但我可以试试。如果在我的原始示例中有多个文本元素,例如:value 1 value 2@har07 getAttribute works,那么如何唯一地获取元素!您是试图从每个
元素中提取文本,还是仅从特定元素中提取文本?以下是一些CSS选择器参考:。
//*[local-name()='g']//*[local-name()='text']