Highcharts:使用 selenium 以编程方式触发显示工具提示

Highcharts: Trigger showing tooltip programatically with selenium

我遇到的情况是我需要在第三方网站上使用 selenium 创建一些自动操作(我认为这意味着我无法使用 highcharts api)。

加载第三方网站时,html正文中没有工具提示元素。好像是鼠标悬停在图表上时动态添加的

我想通过 java selenium 显示工具提示。如果有 java脚本方法可以做到这一点,请告诉我,我会尝试自己将其转移到 selenium 代码中

到目前为止,我已经尝试通过浏览器控制台使用 java 脚本来触发 'mouseover' 事件或向图表中的不同元素添加 'hover' class容器,但我运气不好,工具提示没有添加到 html 正文中,因此我不能 select 它。

我相信上面的问题可以重现,带有 highcharts-tooltip class 的元素在用户悬停在图表上之前不会添加到 html 正文中。

您应该能够获取全局 Highcharts 变量并在特定点上调用 onMouseOver 方法。

Highcharts.charts[0].series[0].points[0].onMouseOver();

您也可以直接在 svg 元素上调度 mousemove 事件。

document.getElementsByClassName('highcharts-point')[0].dispatchEvent(new Event('mousemove', { 'bubbles': true }));

API参考:https://api.highcharts.com/class-reference/Highcharts.Point#onMouseOver