Seleniumでカーソル制御キーを模擬することはできますか?

1,048 views
Skip to first unread message

masuo...@hotmail.co.jp

unread,
Oct 26, 2015, 11:10:05 PM10/26/15
to 日本Seleniumユーザーコミュニティ
ExtJSを使っている画面で、コンボボックスから選択する処理ができません。Seleniumでカーソル制御キーを模擬することはできますか?カーソル制御キーにはこだわっていませんので、問題の解決策があれば教えてください。
 
Selenium IDEで操作を記録して、WebDriverを使って(IDEのオプションでEnable WebDriver Playbackにチェックして)再生しています。Firefoxでは、適当なwaitを追加することで動作しましたが、ブラウザをInternetExploreに代えたら動作しません。
 
使っている画面は、ここで紹介している動画に出てくる、
下記デモサイトページです。
郵便番号とE-mailを入力した(上記動画はここまで)次の画面で、自動車メーカーと車種を選択する箇所にコンボボックスがあります。
 
手動で操作しているときには、自動車メーカーと車種を選択するコンボボックスにカーソルがあるとき、[↓]キーを使うとリストが現れるので、Seleniumで[↓]キーの操作が模擬できると、選択できるのかな、と思っていますが、いかがでしょうか?(Firefoxだとキー操作を追加しなくても動作するので、[↓]キーの操作は必須とは思えませんが。)
 

伊藤望

unread,
Oct 28, 2015, 9:26:53 PM10/28/15
to 日本Seleniumユーザーコミュニティ
伊藤です。

問題のコンボボックスのあるページまでたどりつけなかったのですが
(Sign UpでなくLog Inする必要がある?)、

Selenium IDEで↓キー入力であれば、

sendKeys 要素 ${KEY_DOWN}

で↓キーが入力できると思います。

小原増雄

unread,
Nov 4, 2015, 1:57:17 PM11/4/15
to 日本Seleniumユーザーコミュニティ
↓キーの操作もできるんですね、ご支援ありがとうございます。
いろいろ試していたら、↓キー操作を使わなくても、コンボボックスをクリックした後にwaitForElementPresentを使うことで、firefoxとInternetExplorerを同じスクリプトで操作できましたので、この方法を使うことにしました。

【補足】
当該ページでの操作はSign UpもLog Inも不要で、以下の手順で入力します。
Select a Service or loginのコンボボックスでAutoQuoteを選択

Zip Code [123456]
E-Mail [a...@bbb.com]
Automobile TypeでCarを選択
[NEXT]ボタンクリック

Age [25]
GenderでMaleを選択
Drive RecordでExcellentを選択
[NEXT]ボタンクリック

Year [2015]
Make [Toyota] <-----ここでエラーで止まっていた
Model [Celica]
Financial InfoでFinancedを選択
[NEXT]ボタンクリック

[NEW QUOTE]ボタンクリック

Reply all
Reply to author
Forward
0 new messages