2016-07-26 4 views
0

セレンを使用してキーを送信しようとしていますが、最初に試して送信したくありません。基本的に、HTML5、Javascript、Angularjsをベースにしたアプリケーションです。最初のページにはビデオプレーヤー(AngularJSのVideogular)があります。私は鍵を送信することにより、/プレイ動画を一時停止することができます。セレンのSendkeys

Actions action = new Actions(driver); 
    action.sendKeys(String.valueOf('\u0050')).perform(); 

OR

Actions action = new Actions(driver); 
    action.sendKeys(String.valueOf("p")).perform(); 

をしかし、私は転送しようとしているとき、送信キーで同じように(F/R)を巻き戻し

Actions action = new Actions(driver); 
    action.sendKeys(String.valueOf("f")).perform(); 

プレイヤーがまったく反応しない場合があります。時には、結果を見るために5または10のループを入れます。 しかし、実際のキーボードを使用している場合は、問題なく最初に試してみます。私は(ユーザーストーリーに必要な一切されている)のキーを送信しない前にビデオプレーヤーでも、クリックした

driver.findElement(By.xpath("//body")).sendKeys("f"); 

を考え出すに一日を過ごすまだ運、まだ運: は、私もこの方法をやりました。誰も似たような問題を抱えていて、それを解決する方法を知っているかもしれませんか?

すべてのヘルプは、ターゲットWebElementを取るアクション API内の別のSendKeysメソッドがあります

enter image description here

+0

HTMLウェブ要素? –

+0

AnjularJSのビデオを使用しています –

+1

添付HTMLピクチャ –

答えて

0

を高く評価しました。

sendKeys(WebElement element, CharSequence... keysToSend) 

私はそのショットを与えるだろう。

Actions actions = new Actions(driver);  
//FIXME: Get correct lookup for the VideoPlayer element. 
WebElement videoPlayer = driver.findElement(By.xpath(""));   
String play = "p";   
//Send "p" to the videoPlayer webElement 
actions.sendKeys(videoPlayer, play).perform(); 

あなたは

sendKeys(CharSequence... keysToSend) 

を使用している方法は、あなたが鍵を受け取りにしたいのVideoPlayerではないかもしれない能動素子、にコマンドを送信します。

+0

ありがとう、返信ありがとうございます。しかし残念なことに同じ結果があります:再生/一時停止と巻き戻し/早送りのためだけではありません((私はそれが私には鍵を送るのではなく、 Javaスクリプト実行者 'WebElement rewind = driver.findElement(By.xpath(" // body ")); myExecutor.executeScript(" arguments [0] .value = 'r'; "巻き戻し); 'しかし、この方法でもうまくいきませんでした –

0

代わりにページの本体にキーを送信する、キー押下ウォッチャーでコンテナにそれらを送信してみてください、それに追加:この選手の

driver.findElement(RfBy.cssSelector(".video-container")) 
     .sendKeys("f"); 
+0

私はこの方法を試しましたが、それは私に例外を与えます:' WebDriverException:不明なエラー:要素をフォーカスできません '何か考えていますか? –

+0

うーん、あなたが使用しているWebドライバ(例えば、chrome、firefoxなど)とセレンのバージョンによっては、時には問題が発生することもあります。 –

+0

私は今日も同じように試しました。例外。私はChromeとOperaで実行しようとしました(私たちのアプリケーションはFirefoxをサポートしていません)。私たちのアプリケーションは当初Amazon Fire TV向けに作られましたが、私たちはローカルコピーを作成して自動化を行いました。そのため、2つのブラウザしかサポートしていません...今日は一日中仕事をしています... ... "私は最新のセレン2.53 –

関連する問題