Данные старшей диаграммы преобразуются в путь SVG, поэтому вам придется интерпретировать этот путь самостоятельно.На самом деле я не уверен, почему вы захотите сделать это: в общем, вы можете доверять сторонним библиотекам для работы так, как рекламируется;тестирование этого кода должно проводиться в этой библиотеке.
Если вы все еще хотите это сделать, вам придется погрузиться в Javascript, чтобы получить данные.Взяв пример Highcharts , вы можете извлечь точки данных для первой строки, как показано ниже.Это даст вам определение пути SVG в виде строки, которую затем можно будет проанализировать, чтобы определить источник и точки данных.Сравнение этого с размером вертикальной оси должно позволить вам вычислить значение, подразумеваемое графиком.
# Get the origin and datapoints of the first line
s = selenium.get_eval("window.jQuery('svg g.highcharts-tracker path:eq(0)')")
splitted = re.split('\s+L\s+', s)
origin = splitted[0].split(' ')[1:]
data = [p.split(' ') for p in splitted[1:]]
# Convert to floats
origin = [float(origin[1]), float(origin[2])]
data = [[float(x), float(y)] for x, y in data]
# Get the min and max y-axis value and position
min_y_val = float(selenium.get_eval( \
"window.jQuery('svg g.highcharts-axis:eq(1) text:first').text()")
max_y_val = float(selenium.get_eval( \
"window.jQuery('svg g.highcharts-axis:eq(1) text:last').text()")
min_y_pos = float(selenium.get_eval( \
"window.jQuery('svg g.highcharts-axis:eq(1) text:first').attr('y')")
max_y_pos = float(selenium.get_eval( \
"window.jQuery('svg g.highcharts-axis:eq(1) text:last').attr('y')")
# Calculate the value based on the retrieved positions
y_scale = min_y_pos - max_y_pos
y_range = max_y_val - min_y_val
y_percentage = data[0][1] * 100.0 / y_scale
value = max_y_val - (y_range * percentage)
Отказ от ответственности: у меня не было времени, чтобы полностью это проверить, но что-то в этом роде должнодать вам то, что вы хотите.