Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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 getText不适用于SVG xpath_Selenium_Svg_Xpath - Fatal编程技术网

Selenium getText不适用于SVG xpath

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元素中出现的一些文本,例如

<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']