3

我知道这个问题之前已经在 SO 和其他网站上提出过,但我还没有找到明确的答案——他们中的大多数人说这不容易做到,但我想确保这是最终的判决。

这是我的情况:

我正在使用 Selenium WebDriver (Java) 测试使用 Highcharts (http://www.highcharts.com) 的网站。

我基本上想获取当您将鼠标悬停在 Highchart 折线图上的每个数据点上时出现的小工具提示弹出窗口中显示的信息。

查看网页的 HTML 代码,我注意到有<g class="highcharts-tooltip".... 我还注意到,当您移动鼠标时,(X,Y)值会...transform="translate(X,Y)">发生变化,然后会更改工具提示中显示的信息。

知道了这一点,我的方法就是以某种方式获取所有(X,Y)值并将它们插入transform字段并获取工具提示数据。但我不知道如何(X,Y)通过 Selenium 以编程方式获取所有值。

过去有没有人解决过这个问题,或者有更好的方法来获取必要的信息?

4

2 回答 2

4

我开始创建一个库来使用 HighCharts,我目前拥有的可以在这里找到:

https://github.com/Ardesco/Powder-Monkey/tree/master/src/main/java/com/lazerycode/selenium/graphs

很难提供一个处理 HighCharts 的通用库,因为各个图表上的自定义选项可以修改 SVG 标记相当多。希望以上内容在一定程度上有所帮助。

随着我做的更多,它将被更新。

于 2013-02-04T22:10:18.993 回答
0

折线图必须有背景才能工作。如果图表是使用 .setBackgroundColour(null) 创建的,则不会将“矩形”添加到 html 中。

我能够将背景颜色重新添加到主体背景颜色中。但是,我会尝试找出一种没有“rect”的方法。

于 2013-02-08T15:26:17.143 回答