Tengo la situación en la que necesito crear algunas acciones automáticas con selenio en un sitio web de terceros (que supongo que significa que no puedo usar la API de Highcharts).
Cuando se carga el sitio web de terceros, no hay ningún elemento de información sobre herramientas en el cuerpo html. Parece que se agrega dinámicamente cuando el cursor se desplaza sobre el gráfico.
Me gustaría que la información sobre herramientas se muestre a través de Java Selenium. Si hay una forma de JavaScript para hacer esto, hágamelo saber e intentaré transferirlo al código de Selenium yo mismo.
Hasta ahora, he intentado a través de la consola del navegador con javascript activar un evento de 'mouseover' o agregar una clase 'hover' a diferentes elementos dentro del contenedor de gráficos altos, pero no tuve suerte, la información sobre herramientas no se agrega al cuerpo html y, por lo tanto, No puedo seleccionarlo.
Creo que el problema anterior se puede reproducir con el elemento con la clase highcharts-tooltip no se agrega al cuerpo html hasta que el usuario se desplaza sobre el gráfico.
Debería poder obtener la variable Highcharts global y llamar al método onMouseOver en un punto específico.
Highcharts.charts[0].series[0].points[0].onMouseOver(); También puede enviar el evento mousemove directamente en un elemento svg.
document.getElementsByClassName('highcharts-point')[0].dispatchEvent(new Event('mousemove', { 'bubbles': true }));Referencia de la API: https://api.highcharts.com/class-reference/Highcharts.Point#onMouseOver