我正在尝试从网格中多选行,我使用下面的代码完成:
public void selectMultipleRows(Integer... indeces) {
for (int i = 0; i < indeces.length; i++) {
keyboard().keyDown(Keys.CONTROL);
selectSingleRow(indeces[i]);
keyboard().keyDown(Keys.CONTROL);
}
}
我的问题是,为什么我应该两次写keyboard().keyDown(Keys.CONTROL);
?
如果我写它一旦它不能正常工作。
答案 0 :(得分:1)
可能是您第一次拨打keyboard().keyDown(Keys.CONTROL)
激活CONTROL
密钥,第二次呼叫将其取消激活。再次在下一次迭代中,重复相同的操作。如果删除第二个调用,则在下一次迭代中,它会取消激活CONTROL
键,这就是它无效的原因。尝试将该行移出循环。
public void selectMultipleRows(Integer... indeces) {
keyboard().keyDown(Keys.CONTROL);
for (int i = 0; i < indeces.length; i++) {
selectSingleRow(indeces[i]);
}
}