Seleniumの動作(入力時例外/3:Firefox)
Firefox
![77.0.1](https://selenium-world.net/wp-content/uploads/2020/07/fx_version.png)
ブラウザのズーム倍率
「Cntl」+「-」キーで表示倍率を90%にします。
Button
submitボタン
クリックできます。
![クリックイベント発生](https://selenium-world.net/wp-content/uploads/2020/07/fx_zm_submit_c1-1024x616.png)
<button>タグ
クリック可能です。
![クリックイベント発生](https://selenium-world.net/wp-content/uploads/2020/07/fx_zm_button_c1-1024x616.png)
imageボタン
クリック可能です。
![クリックイベント発生](https://selenium-world.net/wp-content/uploads/2020/07/fx_zm_img_button_c1-1024x616.png)
Link
クリック可能です。
![クリックイベント発生](https://selenium-world.net/wp-content/uploads/2020/07/fx_zm_normal_link_c1-1024x616.png)
Text
3種類とも文字入力可能です。
![文字入力](https://selenium-world.net/wp-content/uploads/2020/07/fx_zm_textbox_c1-1024x616.png)
![文字入力](https://selenium-world.net/wp-content/uploads/2020/07/fx_zm_password_c1-1024x616.png)
![文字入力](https://selenium-world.net/wp-content/uploads/2020/07/fx_zm_textarea_c1-1024x616.png)
Select
選択できます。
![option2選択](https://selenium-world.net/wp-content/uploads/2020/07/fx_zm_select_c1-1024x616.png)
Radio
クリック可能です。
![クリックイベント発生](https://selenium-world.net/wp-content/uploads/2020/07/fx_zm_radio3_c1-1024x616.png)
![クリックイベント発生](https://selenium-world.net/wp-content/uploads/2020/07/fx_zm_radio3_c2-1024x616.png)
CheckBox
クリック可能です。
![クリックイベント発生](https://selenium-world.net/wp-content/uploads/2020/07/fx_zm_checkbox3_c1-1024x616.png)
![クリックイベント発生](https://selenium-world.net/wp-content/uploads/2020/07/fx_zm_checkbox3_c2-1024x616.png)
実行結果
コントロール | 要素 | 操作 | 結果 |
---|---|---|---|
Button | submit | click | OK |
button | click | OK | |
image | click | OK | |
Link | normal | click | OK |
img | click | OK | |
css | click | OK | |
Text | textbox | send_key | OK |
password | send_key | OK | |
textarea | send_key | OK | |
Select | select | select | OK |
Radio | radio | click | OK |
label | click | OK | |
CheckBox | checkbox | click | OK |
label | click | OK |
非表示要素
プルダウンメニューがクリックできるかを確認します。
![プルダウンメニュー](https://selenium-world.net/wp-content/uploads/2020/07/fx_menu3_c1-1.png)
Menu
「Menu3」の「child2」をクリックします。
例外が発生しました。
![例外発生](https://selenium-world.net/wp-content/uploads/2020/07/fx_menu3_c1-1024x616.png)
ElementNotInteractableExceptionMessage: Element <a id="child2" href="#nav_sample"> could not be scrolled into view
<traceback object at 0x0000015C4712C708>
“is_displayed()"は「False(非表示)」でした。
![is_displayed()=False](https://selenium-world.net/wp-content/uploads/2020/07/fx_menu3_c2-1024x616.png)
要素の上に、別の要素が重なっている
ダイアログ表示(モーダル)
「Menu1」をクリックすると、JavaScriptのAlertダイアログ(モーダル)が表示されます。
![alertダイアログ表示](https://selenium-world.net/wp-content/uploads/2020/07/fx_hide_al_menu1_c1-1024x616.png)
Button
submitボタン
Alertダイアログが表示された状態で、submitボタンをクリックすると、ダイアログが閉じて例外が発生します。
![例外発生](https://selenium-world.net/wp-content/uploads/2020/07/fx_hide_al_submit_c1-1024x616.png)
UnexpectedAlertPresentExceptionAlert Text: None
Message: Dismissed user prompt dialog: Menu1!
<traceback object at 0x0000015C47122748>
手動操作ではクリック不可でダイアログも閉じません。
![反応なし](https://selenium-world.net/wp-content/uploads/2020/07/fx_hide_al_button_c1-1024x616.png)
Alertダイアログを表示した状態で、「id」ボタンを押します。
Chormeと同じく、要素の取得ができません。
![](https://selenium-world.net/wp-content/uploads/2020/07/fx_zm_submit_c5-1024x616.png)
なお、Firefoxでは、同じAlertダイアログを表示すると、2回目からチェックボックス付きのダイアログが表示されますが、同じ結果となります。(IEでは動作が異なります)
![チェックボックス付きダイアログ表示](https://selenium-world.net/wp-content/uploads/2020/07/fx_hide_al_submit_c8-1024x616.png)
![例外発生](https://selenium-world.net/wp-content/uploads/2020/07/fx_hide_al_submit_c9-1024x616.png)
Link
normal_link, img_link, css_linkとも例外が発生しました。
Text
Alertダイアログを表示した状態で、send_keys()を実行します。
textbox
Alertダイアログが閉じ、例外が発生しました。
![例外発生](https://selenium-world.net/wp-content/uploads/2020/07/fx_hide_al_textbox_c1-1024x616.png)
UnexpectedAlertPresentExceptionAlert Text: None
Message: Dismissed user prompt dialog: Menu1!
<traceback object at 0x0000015C471226C8>
Select
Alertダイアログが閉じ、例外が発生しました。
![](https://selenium-world.net/wp-content/uploads/2020/07/fx_hide_al_select_c1-1-1024x616.png)
UnexpectedAlertPresentExceptionAlert Text: None
Message: Dismissed user prompt dialog: Menu1!
<traceback object at 0x0000015C47045908>
Radio / CheckBox
ボタンクリック、ラベルクリックとも、Alertダイアログが閉じ、例外が発生しました。
実行結果
どちらのダイアログでも動作に差異はありません。
![alertダイアログ(ノーマル)](https://selenium-world.net/wp-content/uploads/2020/07/fx_alert1-1.png)
![alertダイアログ(チェックボックス付)](https://selenium-world.net/wp-content/uploads/2020/07/fx_alert2-1.png)
コントロール | 要素 | 操作 | 結果 |
---|---|---|---|
Button | submit | click | Ex |
button | click | Ex | |
image | click | Ex | |
Link | normal | click | Ex |
img | click | Ex | |
css | click | Ex | |
Text | textbox | send_key | Ex |
password | send_key | Ex | |
textarea | send_key | Ex | |
Select | select | select | Ex |
Radio | radio | click | Ex |
label | click | Ex | |
CheckBox | checkbox | click | Ex |
label | click | Ex |
要素の取得もエラーになる。
SeleniumではAlertダイアログが閉じるが、手動では閉じない
ダイアログ表示(モードレス)
「Menu2」をクリックすると、jQueryのモードレスダイアログが表示されます。
![ダイアログ表示](https://selenium-world.net/wp-content/uploads/2020/07/fx_hide_dialog1-1024x616.png)
Button
submitボタン
ダイアログが重なっている状態で、submitボタンをクリックします。
例外が発生します。
![例外発生](https://selenium-world.net/wp-content/uploads/2020/07/fx_hide_dl_submit_c1-1024x616.png)
ElementClickInterceptedExceptionMessage: Element <input id="submit" class="btn-submit" type="submit"> is not clickable at point (831,372) because another element <div id="dialog" class="ui-dialog-content ui-widget-content"> obscures it
<traceback object at 0x00000231DA71EA08>
ダイアログを移動させて、submitボタンを表示すれば、クリック可能です。
![クリックイベント発生](https://selenium-world.net/wp-content/uploads/2020/07/fx_hide_dl_submit_c2-1024x616.png)
手動の場合もクリック可能です。
![クリックイベント発生](https://selenium-world.net/wp-content/uploads/2020/07/fx_hide_dl_submit_c3-1024x616.png)
is_displayed()は「True(表示)」です。
![is_displayed()=True](https://selenium-world.net/wp-content/uploads/2020/07/fx_hide_dl_submit_c4-1024x616.png)
Link
要素が隠れていると例外が発生します。
![例外発生](https://selenium-world.net/wp-content/uploads/2020/07/fx_hide_dl_nromal_link_c1-1024x616.png)
Text
ダイアログで要素が隠れている場合でも、文字入力可能です。
![文字入力](https://selenium-world.net/wp-content/uploads/2020/07/fx_hide_dl_textbox_c1-1024x616.png)
![hoge](https://selenium-world.net/wp-content/uploads/2020/07/fx_hide_dl_textbox_c2-1024x616.png)
Select
要素が隠れていると、例外が発生します。
![例外発生](https://selenium-world.net/wp-content/uploads/2020/07/fx_hide_dl_select_c1-1024x616.png)
ElementClickInterceptedExceptionMessage: Element <select id="select"> is not clickable at point (831,483) because another element <p> obscures it
<traceback object at 0x00000231DBDCD4C8>
Radio / CheckBox
ButtonやLinkと同じく、隠れているとクリックできません。
![例外発生](https://selenium-world.net/wp-content/uploads/2020/07/fx_hide_dl_radio3_c1-1024x616.png)
実行結果
コントロール | 要素 | 操作 | 結果 |
---|---|---|---|
Button | submit | click | Ex |
button | click | Ex | |
image | click | Ex | |
Link | normal | click | Ex |
img | click | Ex | |
css | click | Ex | |
Text | textbox | send_key | OK |
password | send_key | OK | |
textarea | send_key | OK | |
Select | select | select | Ex |
Radio | radio | click | Ex |
label | click | Ex | |
CheckBox | checkbox | click | Ex |
label | click | Ex |
例外が起きるのは、ダイアログで要素が隠れている場合
ヘッダー/フッター
スクロール追従型のヘッダー/フッターで要素が隠れている場合を考えます。
Button
submitボタン
submitボタンをヘッダーに隠した状態でclickボタンを押します。
例外が発生しました。
![例外発生](https://selenium-world.net/wp-content/uploads/2020/07/fx_hide_hd_submit_c9-1024x616.png)
Link
Linkをフッターに隠した状態でclickボタンを押します。
例外が発生しました。
![例外発生](https://selenium-world.net/wp-content/uploads/2020/07/fx_hide_hd_normal_link_c1-1024x616.png)
Text
textbox
ヘッダー/フッターで要素が隠れていても、文字入力可能です。
![文字入力](https://selenium-world.net/wp-content/uploads/2020/07/fx_hide_hd_textbox_c2-1024x616.png)
Select
例外が発生しました。
![例外発生](https://selenium-world.net/wp-content/uploads/2020/07/fx_hide_hd_select_c1-1024x616.png)
lementClickInterceptedExceptionMessage: Element <select id="select"> is not clickable at point (831,922) because another element <div id="footer"> obscures it
<traceback object at 0x00000231DA78A108>
エラーメッセージに “not clickable" とあることからも、Firefoxのselect_by_index()メソッドは、クリックで実現しているように思います。
Radio / CheckBox
Radioボタンをフッターに隠して、click()メソッドを発行。
例外が発生します。
![例外発生](https://selenium-world.net/wp-content/uploads/2020/07/fx_hide_hd_radio3_c2-1024x616.png)
実行結果
コントロール | 要素 | 操作 | 結果 |
---|---|---|---|
Button | submit | click | Ex |
button | click | Ex | |
image | click | Ex | |
Link | normal | click | Ex |
img | click | Ex | |
css | click | Ex | |
Text | textbox | send_key | OK |
password | send_key | OK | |
textarea | send_key | OK | |
Select | select | select | Ex |
Radio | radio | click | Ex |
label | click | Ex | |
CheckBox | checkbox | click | Ex |
label | click | Ex |
ディスカッション
コメント一覧
まだ、コメントがありません