Как получить значение из тега "text", который находится внутри тега SVG в Селене Java - PullRequest
0 голосов
/ 24 мая 2019

Я пытаюсь получить текстовое значение изнутри элементов SVG, которые не видны на графике.однако, когда я наводю указатель мыши на него, он дает значение всплывающей подсказки

. Я могу навести указатель мыши на элемент, но не могу получить значение.

@FindBy(how=How.XPATH,using = "//*[name()='svg']//*[name()='g']//*[contains(@class,'')]//*[@visibility='hidden']")
    public static WebElement newgraph;

new Actions(driver).moveToElement(newgraph).clickAndHold().moveByOffset(0, 0).pause(1000).perform();
    /*    Actions builder = new Actions(driver);
        builder.moveToElement(newgraph).perform();*/
        String tooltip_msg = newgraph.getText();
        System.out.println(tooltip_msg);

Ниже приведен HTML

<g class="highcharts-label highcharts-tooltip highcharts-color-undefined" 
style="cursor:default;pointer-events:none;white-space:nowrap;" 
transform="translate(212,-9999)" opacity="0" visibility="visible"><path 
fill="none" class="highcharts-label-box highcharts-tooltip-box" 
isShadow="true" stroke="#000000" stroke-opacity="0.049999999999999996" 
stroke-width="5" transform="translate(1, 1)"><text x="8" style="font- 
size:12px;color:#333333;fill:#333333;" y="20">

<tspan style="font-weight:bold; fill:#4fb3c3">Licensed: </tspan><tspan 
style="font-weight:bold" dx="0">560</tspan><tspan x="8" dy="15">May 24, 
2019</tspan></text>
</g>
</svg>

1 Ответ

0 голосов
/ 24 мая 2019

Вы можете попробовать с этим xpath:

//*[local-name() = 'svg']/*/*/*/*[name()='tspan'][3]

Он находит нужный вам узел.

Просто найдите веб-элемент с этим .getText(), чтобы извлечь дату.

Дайте мне знать, если у вас есть еще вопросы.

...