Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法单击每个循环使用的每个li_Java_Selenium - Fatal编程技术网

Java 无法单击每个循环使用的每个li

Java 无法单击每个循环使用的每个li,java,selenium,Java,Selenium,有人能帮我解决以下问题吗。在下面的代码中,单击第一个列表,然后他没有选择另一个li ActionBot.click(driver, RETAIL_APPLICATION_USER_MANAGEMENT_ADD_AUTHORITIES_CLICK_ON_SELECT_ROLE_DROPDOWN); Retail_login.wait(4000); WebElement ele=ActionBot.findElement(driver, RETAIL_APPLICATION_USER_MANAGEM

有人能帮我解决以下问题吗。在下面的代码中,单击第一个列表,然后他没有选择另一个
li

ActionBot.click(driver, RETAIL_APPLICATION_USER_MANAGEMENT_ADD_AUTHORITIES_CLICK_ON_SELECT_ROLE_DROPDOWN);
Retail_login.wait(4000);
WebElement ele=ActionBot.findElement(driver, RETAIL_APPLICATION_USER_MANAGEMENT_ADD_AUTHORITIES_GET_ALL_VALUE_FROM_SELECT_ROLE_DROPDOWN);

List<WebElement> columns = ele.findElements(By.tagName("li"));

System.out.println(columns.size() + "  values are there in role dropdown");

System.out.println("1");
if(val1.equals(Role))
{
    if(!ele2.isSelected())
    {
        ele2.click();
    }
    else{

    }       
}

System.out.println("2");

if(val1.equals(Role2))
{
    if(!ele2.isSelected())
    {
        ele2.click();
    }
}

System.out.println("3");

if(val1.equals(Role3))
{
    if(!ele2.isSelected())
    {
        ele2.click();
    }
}

System.out.println("4");
ActionBot.单击(驱动程序、零售应用程序、用户、管理、添加、权限、单击、选择、角色下拉列表);
零售登录。等待(4000);
WebElement ele=ActionBot.findElement(驱动程序、零售应用程序、用户、管理、添加、权限、获取、所有、价值、选择、角色、下拉列表);
列表列=ele.findElements(按.tagName(“li”));
System.out.println(columns.size()+“值在角色下拉列表中”);
系统输出打印项次(“1”);
if(val1.equals(角色))
{
如果(!ele2.isSelected())
{
ele2.单击();
}
否则{
}       
}
系统输出打印项次(“2”);
如果(值1等于(角色2))
{
如果(!ele2.isSelected())
{
ele2.单击();
}
}
系统输出打印项次(“3”);
如果(值1等于(角色3))
{
如果(!ele2.isSelected())
{
ele2.单击();
}
}
系统输出打印项次(“4”);

有人能帮我解决上述问题吗?

您必须使用元素列表循环:

//Get all li elements
List<WebElement> columns= ele.findElements(By.tagName("li"));
System.out.println(columns.size()+"  values are there in role dropdown");
//Click all the li element in the loop
for(WebElement val1:columns){
   val1.click();
}
//获取所有li元素
列表列=ele.findElements(按.tagName(“li”));
System.out.println(columns.size()+“值在角色下拉列表中”);
//单击循环中的所有li元素
for(WebElement val1:columns){
val1.单击();
}

循环在哪里?每个循环在哪里使用?