ブラウザ(chrome, firefox等)のネイティブダイアログを閉じる方法
1236 ワード
問題
Capybara(selenium)などでテストをしている時に、ファイルアップロードなどでブラウザネイティブのダイアログが開く時がある。
seleniumでは調べてみた限りJavascriptで表示されるようなalert
confirm
ダイアログの操作はできるが、ブラウザネイティブで表示されるダイアログはどうにも出来ない様子
解決方法
ダイアログが開いた状態でブラウザ自体にescape
キーが送れれば良いのでOSXの場合はAppleScriptを使う。
dialog_escape.script
# activate application "Google Chrome" chromeの場合はこっち
activate application "Firefox"
tell application "System Events"
key code 53
end tell
特定のアプリケーションをフォーカスして、escape
キーを送っているだけ
上記のファイルを保存してruby
などから以下のように実行
system("osascript /path/to/dialog_escape.script")
Author And Source
この問題について(ブラウザ(chrome, firefox等)のネイティブダイアログを閉じる方法), 我々は、より多くの情報をここで見つけました https://qiita.com/github0013@github/items/a37795674fd3cf1716d6著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .