2016-05-23 4 views
3

フォームを記入している間、テストは次のフィールドに移動するためにタブアウトする必要があります。Selenium webdriver(javascript)tab out

私が手にエラーがある:

InvalidArgumentError: Not a modifier key 

コード:

var key = require('selenium-webdriver').Key; 
var actionSequence = require('selenium-webdriver').ActionSequence; 

    new actionSequence(driver).keyDown(key.CONTROL).keyDown(key.TAB).perform().then(function(){ 
    console.log("Done selection?"); 
}); 

答えて

2

keyDownアクションが唯一の修飾キーのためにある:

key.CONTROL 
key.SHIFT 
key.ALT 
key.COMMAND 

.sendKeysを使用し、[Tab]キーを送信するには:

var key = require('selenium-webdriver').Key; 
var actionSequence = require('selenium-webdriver').ActionSequence; 

new actionSequence(driver).keyDown(key.CONTROL).sendKeys(key.TAB).perform().then(function(){ 
    console.log("Done selection?"); 
}); 
+0

ありがとうございます。私はkeyDownの代わりにsendKeysを使用しました。しかしテストはタブアウトされず、灰色の要素をクリックするように疲れています。 (InvalidElementStateError:要素が無効になっているため、アクションに使用できない可能性があります) – SUM

+1

なぜCtrlキーを押していますか? 'Ctrl + Tab'の代わりに' Tab'を押すだけでしたか?前の要素を取得するには、ショートカットは 'Shift + Tab 'であることに注意してください。 –

+0

ありがとうございました。 – SUM