Не получилось.
Возможно, это поможет решению проблемы:
var client = new wd.Builder()
.usingServer(SELENIUM_HOST)
.withCapabilities({ browserName: 'firefox' })
.build();
client.get(URL); // URL - html-страничка, на которой есть элемент textarea (name: 'MessageText'), в котором есть несколько заполненных строк.
Задача выделить эти несколько строк. Пытаюсь сделать это так:
client.isElementPresent({ name: 'MessageText'}).then(function(found)
{
if (found)
{
client.findElement({ name: 'MessageText' }).then(function()
{keyDown(Keys.CONTROL).sendKeys('a').keyUp(Keys.CONTROL);
});
}
}
);
При выполнении получаю ReferenceError: keyDown is not defined
Еще раз: у меня javascript (не java !) + Node js + selenium.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Сработало следующее:
client.findElement({ name: 'MessageText' }).sendKeys(Key.CONTROL, "a", Key.NULL,"qu-qu");
В моей версии selenium-webdriver'а не было определения Key, а также KeyDown и KeyUp.
Я нашел в старой документации на selenium-webdriver-js данную конструкцию, перетащил к себе функцию Key c определениями кодов:
Key = {
NULL: '\uE000',
CANCEL: '\uE001', // ^break
HELP: '\uE002',
BACK_SPACE: '\uE003',
TAB: '\uE004',
CLEAR: '\uE005',
RETURN: '\uE006',
ENTER: '\uE007',
SHIFT: '\uE008',
CONTROL: '\uE009',
ALT: '\uE00A',
PAUSE: '\uE00B',
ESCAPE: '\uE00C',
SPACE: '\uE00D',
PAGE_UP: '\uE00E',
PAGE_DOWN: '\uE00F',
END: '\uE010',
HOME: '\uE011',
ARROW_LEFT: '\uE012',
LEFT: '\uE012',
ARROW_UP: '\uE013',
UP: '\uE013',
ARROW_RIGHT: '\uE014',
RIGHT: '\uE014',
ARROW_DOWN: '\uE015',
DOWN: '\uE015',
INSERT: '\uE016',
DELETE: '\uE017',
SEMICOLON: '\uE018',
EQUALS: '\uE019',
NUMPAD0: '\uE01A', // number pad keys
NUMPAD1: '\uE01B',
NUMPAD2: '\uE01C',
NUMPAD3: '\uE01D',
NUMPAD4: '\uE01E',
NUMPAD5: '\uE01F',
NUMPAD6: '\uE020',
NUMPAD7: '\uE021',
NUMPAD8: '\uE022',
NUMPAD9: '\uE023',
MULTIPLY: '\uE024',
ADD: '\uE025',
SEPARATOR: '\uE026',
SUBTRACT: '\uE027',
DECIMAL: '\uE028',
DIVIDE: '\uE029',
F1: '\uE031', // function keys
F2: '\uE032',
F3: '\uE033',
F4: '\uE034',
F5: '\uE035',
F6: '\uE036',
F7: '\uE037',
F8: '\uE038',
F9: '\uE039',
F10: '\uE03A',
F11: '\uE03B',
F12: '\uE03C',
COMMAND: '\uE03D', // Apple command key
META: '\uE03D' // alias for Windows key
};
И всё заработало !
Еще раз спасибо, Илья !