Selenium java代码:如何从包含许多标记的隐藏元素中读取文本

时间:2016-06-27 07:31:28

标签: selenium-webdriver

1.<svg blablabla style:overflow: hidden  > <aaa id=aaa>
2.+
    3.<g>
    4.<g>
    5.<g>
    6.<g>

标签位于svg内。 1是隐藏标签,我想获得第5行文本(),这就是我所做的。

WebElement hiddenDiv = driver.findElement(By.id("aaa"));
String n = hiddenDiv.getText();
String script = "return arguments[0].innerHTML";
n = (String) ((JavascriptExecutor) driver).executeScript(script,   hiddenDiv);
System.out.println(n);

我怎么能得到g [2],我已经尝试过直接xpath并且因为svg被隐藏而出错了。

1 个答案:

答案 0 :(得分:0)

您只需要获取g标记的数组并选择您想要的标记。如果你想要第5个,你可以使用下面的代码。

List<WebElement> gs = driver.findElements(By.cssSelector("#aaa g"));
System.out.println(gs.get(4).getAttribute("innerHTML"));