2016-04-21 7 views
1

Я использую Selenium WebDriverJS для написания теста. Теперь мне нужно нажать клавишу на клавиатуре. Можно ли имитировать нажатие клавиши на селене webdriverJS? если да как? в Java мы делаем это:имитировать нажатие клавиши в selenium webdriverjs

driver.findElement(Locator).sendKeys(Keys.ARROW_DOWN); 

Спасибо.

+0

Взгляните на http://stackoverflow.com/a/37392949/1478566 – vbarbarosh

ответ

0

Да его можно, попробовать таким образом:

new webdriver.ActionSequence(driver). 
    keyDown(webdriver.Key.SHIFT). 
    click(element1). 
    click(element2). 
    dragAndDrop(element3, element4). 
    keyUp(webdriver.Key.SHIFT). 
    perform(); 

Для более ключей взглянуть на

https://github.com/SeleniumHQ/selenium/blob/master/javascript/node/selenium-webdriver/lib/actions.js#L43

К сожалению, нет ARROW_DOWN ключа, как вы можете увидеть

+0

Спасибо за ответ. Я хочу нажимать стрелки вниз, поэтому я должен изменить SHIFT на что? –

+0

использовать ARROW_DOWN и для большей помощи использовать http://selenium.googlecode.com/git/docs/api/javascript/enum_webdriver_Key.html –

+0

ARROW_DOWN не работает для меня, это дает мне InvalidArgumentError: не ключ-модификатор –

0

для стрелки вниз, используйте ниже:

keys('Down arrow'); 
+0

Я хочу нажмите Arrow_DOWN в Selenium WebDriverJS –

+0

У меня есть обновленный код, проверка PLS – noor

+0

Я использую selenium webdriver js (для node.js не java) –

0

Med.J - обновить свой код, как показано ниже:

Robot robot3 = new Robot(); 
    robot3.keyPress(KeyEvent.VK_PAGE_DOWN); 
    robot3.keyRelease(KeyEvent.VK_PAGE_DOWN); 
2

Да, вы можете добиться того, что с помощью ActionSequence. Существует несколько функций, но keyDown (key) и keyUp (key) используются только для ключей-модификаторов. Один вам нужно, это SendKeys (... var_args)

var element1 = driver.findElement(<locator1>); 
driver.actions().click(element1).sendKeys(Key.ARROW_DOWN).perform(); 

Вы можете даже передать несколько ключей

var element2 = driver.findElement(<locator2>); 
driver.actions().click(element2).sendKeys(Array(3).fill(Key.ARROW_UP), Key.ENTER).perform(); 

Полный список всех возможных ключей вы можете найти здесь: https://seleniumhq.github.io/selenium/docs/api/javascript/module/selenium-webdriver/lib/input_exports_Key.html

Подробнее читайте здесь: https://seleniumhq.github.io/selenium/docs/api/javascript/module/selenium-webdriver/lib/actions_exports_ActionSequence.html

Смежные вопросы