硒的多重选择

阿皮

在搜索框中输入员工姓名后,列出了7个姓名。从7中我只需要选择4个名字。我的以下代码是从搜索结果中选择2名员工。

Actions actions = new Actions(driver)
actions.keyDown(Keys.CONTROL)
       .click(employeeList.get(0))
       .click(employeeList.get(4))
       .keyUp(Keys.CONTROL)
       .build();
       .perform();

但是当相同的代码尝试与for循环一起使用时,它不会选择所有元素。

public void selectEmployees() throws Exception {
    Actions actions = new Actions(driver);
    for (int i=0; i<employeeList.size(); i++)  //Employee list is giving the size 7.
    {       
            actions.keyDown(Keys.CONTROL)
                   .click(employeeList.get(i))
                   .keyUp(Keys.CONTROL)
                   .build()
                   .perform();
            }
        }

试图选择所有带for循环的员工,但已选择1,3,5,7记录,然后取消选择3,5,7记录,仅第一个保持选中状态。救命?

朱利安

我建议您是否尚未尝试不使用相同的动作实例在循环的每次迭代上进行构建。在for循环之前,请尝试仅按下一次控制键。在循环内,仅单击循环进行迭代的列表项。循环之后,加紧控制并建立一次动作。

它可能看起来像这样:

public void selectEmployees() throws Exception {
    Actions actions = new Actions(driver);
    actions.keyDown(Keys.CONTROL);
    for (int i=0; i<employeeList.size(); i++) {       
        actions.click(employeeList.get(i))
    }
    actions.
        .keyUp(Keys.CONTROL)
        .build()
        .perform();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章