2017-01-11 2 views
1

Я пытаюсь множественного выбора строк из сетки, и я сделал это на код ниже:кнопки клавиатуры в селеном

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); дважды? Если я напишу это, как только это не сработает.

+1

Как работает selectSingleRow()? – Cathal

ответ

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]); 
    } 
} 
Смежные вопросы