我有一个场景,我有一个html表,其中包含一些复选框(比如10),其中很少一些没有显示在UI中(它们是使用某些功能隐藏的)。现在,我正在尝试使用isDisplayed()
或isEnabled()
方法获取所有可见的复选框,但这对我不起作用,有人可以帮助我并显示我出错的地方,我正在使用以下代码:
List<WebElement> checkbox=null;
ArrayList<String> visibilechckbox = null;
List<WebElement> table= driver.findElements(By.xpath("//td[contains(@class,'tblrow')]"));
for(WebElement tab : table)
{
checkbox = tab.findElements(By.xpath("//input[contains(@type,'checkbox')]"));
}
int noofchckbox = checkbox.size();
for(int i=0; i<noofchckbox; i++)
{
String attr = checkbox.get(i).getAttribute("name");
if(driver.findElement(By.xpath("//input[contains(@name,'" + attr + "')]")).isDisplayed())
visbilechckbox.add(attr);
}
for(int a=0; a<visbilechckbox.size(); a++)
{
System.out.println(visbilechckbox.get(a));
}