Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/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
Can';t获取moveToElement以显示Selenium上SVG元素的工具提示_Selenium_Xpath_Svg_Selenium Webdriver - Fatal编程技术网

Can';t获取moveToElement以显示Selenium上SVG元素的工具提示

Can';t获取moveToElement以显示Selenium上SVG元素的工具提示,selenium,xpath,svg,selenium-webdriver,Selenium,Xpath,Svg,Selenium Webdriver,我一直在编写这个测试脚本,但我无法让它将鼠标移到SVG中的某个元素上以显示工具提示 我已经将它存储在一个变量中,并且能够使用xpath输出属性,但是当我使用moveToElement调用它时,它不起作用 这是我正在使用的xpath: //*[name()='svg']/*[name()='g'][@class='highcharts-series-group']/*[name()='g'][18]/*[name()='path'][2] 但这个xpath是有效的: //*[name()='sv

我一直在编写这个测试脚本,但我无法让它将鼠标移到SVG中的某个元素上以显示工具提示

我已经将它存储在一个变量中,并且能够使用xpath输出属性,但是当我使用moveToElement调用它时,它不起作用

这是我正在使用的xpath:

//*[name()='svg']/*[name()='g'][@class='highcharts-series-group']/*[name()='g'][18]/*[name()='path'][2]
但这个xpath是有效的:

//*[name()='svg']/*[name()='g'][@class='highcharts-series-group']/*[name()='g'][18]/*[name()='path'][1]
我也尝试过[stats with.,val],但没有成功

更新: 添加元素的html

<g class="highcharts-markers highcharts-tracker" visibility="visible" zIndex="12" transform="translate(0,26) scale(1 1)" clip-path="url(#highcharts-438)" style="">
    <path fill="#bdc94b" d="M 440 295.19999990878046 C 445.328 295.19999990878046 445.328 303.19999990878046 440 303.19999990878046 C 434.672 303.19999990878046 434.672 295.19999990878046 440 295.19999990878046 Z"></path>
    <path fill="#bdc94b" d="M 417 292.4634146341463 C 422.328 292.4634146341463 422.328 300.4634146341463 417 300.4634146341463 C 411.672 300.4634146341463 411.672 292.4634146341463 417 292.4634146341463 Z"></path></g>

更新:

因此,在使用.click().build().perform()之后;我现在收到一条元素不可单击的错误消息。在后面的标记中,有另一个元素覆盖在绘图上。对此,什么是好的解决方法?

第一个(失败的)xpath正在查找第二个元素,而第二个(工作的)xpath正在获取第一个path元素。在我看来,源文件在第18组中只有一个元素

顺便说一句,xpath可以简化,这样更容易阅读,也更高效

//svg/g[@class='highcharts-series-group']/g[18]/path[1]

因为/*[name()='{nodename}']等同于/{nodename}

感谢您的回复和提示!所以我知道第18组有第二名,因为当我运行测试时,它没有失败。我的问题是,当我使用xpath时,使用actions.moveToElement(元素)将鼠标/鼠标悬停在上面;它不显示/找到它来显示工具提示。Hmmm。。。在这种情况下,元素上方是否有其他对象?它可能优先于鼠标事件。我认为即使是透明元素(除非被剪裁)也会优先于其他元素。对我来说,第一条路是行不通的,但是第二条路是行不通的,即使它们是同一条路的一部分。至于元素上方的其他对象,我看不到。不幸的是,我想不出其他任何东西。。能否将svg元素复制到.svg文件中,然后将其加载到工具(如InkSpace)中。如果鼠标确实无法访问该区域,那么该区域将在工具中重复,并且/或者您可以了解原因。谢谢,我将尝试。