Selenium JSExecutor - Получите ценность от пузыря бара Amcharts - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь получить значение, используя JSExecutor с Selenium из гистограммы Amcharts. Гистограмма в аналогичном формате, где, когда я указываю мышкой, на пузырьке отображается значение.

Amcharts Bar Graph

My HTML DOM is в этом формате:

   <div class="amcharts-chart-div" style="overflow: hidden; position: relative; width: 1315px; height: 500px; padding: 0px;">
      <svg version="1.1" style="position: absolute; width: 1315px; height: 500px; left: -0.421875px; top: 0.3125px;">
         <desc>JavaScript chart by amCharts 3.12.3</desc>
        <g><path cs="100,100" d="M0.5,0.5 L1314.5,0.5 L1314.5,499.5 L0.5,499.5 Z" fill="#FFFFFF" stroke="#000000" fill-opacity="0" stroke-width="1" stroke-opacity="0"></path>
  <path cs="100,100" d="M0.5,0.5 L1218.5,0.5 L1218.5,443.5 L0.5,443.5 L0.5,0.5 Z" fill="#FFFFFF" stroke="#000000" fill-opacity="0" stroke-width="1" stroke-opacity="0" transform="translate(76,20)"></path></g>
        <g><g transform="translate(76,20)"><g><path cs="100,100" d="M122.5,0.5 L122.5,5.5" fill="none" stroke-width="0" stroke-opacity="1" stroke="#000000" transform="translate(0,443)"></path>

Строка со значением, которое я ищу, имеет следующий xpath:

//*[@id="barGraph"]/div/div/svg/g[6]/g/g[3]/path

Я пытался использовать:

String str = "document.querySelector(\"#barGraph > div > div > svg > g:nth-child(7) > g > g:nth-child(3) > path\")";
JavascriptExecutor js = (JavascriptExecutor) getDriver();
System.out.println(js.executeScript(str));

но я возвращаю нулевое значение. Как я могу правильно сделать это?

1 Ответ

0 голосов
/ 01 апреля 2020

попробуйте с приведенным ниже CSS, а затем обновите номер типа в соответствии с требованием.

#barGraph div > div > svg > g:nth-of-type(1) path
...