gpt4 book ai didi

java - 如何循环浏览 webdriver 中的条形图元素?

转载 作者:行者123 更新时间:2023-11-30 03:38:38 26 4
gpt4 key购买 nike

Selecting relational highchart SVG images with Selenium

我最近问了上面的问题,我想点击highchart中的一些元素来完成我的自动化测试中的一些功能。我现在已经解决了这个问题,但还有一个问题。在某些情况下,我会在高图表上显示 3 个柱;在其他方面我可能有更多;或更少。显然,我编写的代码是有限制的,因为它无法动态处理页面上高图表数量的变化(我编写了下面的代码):

    public static void barChartSelector(InternetExplorerDriver driver)
{
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
WebElement parent = driver.findElement(By.className("highcharts-series-group"));
List<WebElement> children = parent.findElements(By.tagName("rect"));
children.get(0).click();
children.get(1).click();
children.get(2).click();
children.get(3).click();
}

我知道,从概念上讲,需要进行某种循环,以便如果我在有 4 个元素可供单击的 highchart 上使用 barChartSelector 方法,该方法可以循环并处理此问题。同样,如果有另一个只有 3 个元素的 highchart,代码也应该处理这个问题。这只会使代码更加动态且面向 future 。

有人对实现上述内容的最佳方式有任何建议吗?

最佳答案

也许可以代替

 List<WebElement> children = parent.findElements(By.tagName("rect"));
children.get(0).click();
children.get(1).click();
children.get(2).click();
children.get(3).click();

你可以试试

List<WebElement> children = parent.findElements(By.tagName("rect"));
for (WebElement cur : children) {
cur.click();
}

关于java - 如何循环浏览 webdriver 中的条形图元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27267729/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com