SeleniumでsendKeys()を使って半角カタカナをテキストボックスに入力するとWindowsで文字化けするという事象に遭遇しました。
これまで5年くらい使ってきましたがそんなシーンがなかったのでビックリしました(゜o゜;
ちなみにMacで半角カタカナをsendKeys()しても文字化けしませんでした。
だから余計に遭遇しなかったのかもしれませんね。(メインPCはMacです)
今日は半角カタカナがWindowsで文字化けして入力できないときの対処法を紹介します。
半角カタカナがWindowsで文字化けするときの対処法(Java)
結論から言ってしまうとsendKeys()を使わずにJavascriptExcutorを使ってJavaScript経由でValueに値を設定します。
関数にまとめたのでそちらを使ってもらうとサクッと解決できます。
inputTextByJSE()をクラスの中に追加してもらうだけでOKです。
- テキストを入力したい要素をXpathで指定します。
- 入力したいテキストを入れます。
- WebDriverをセットします。
その他、細かい設定が必要な場合は関数を編集してください。
※ WebDriverのインスタンスがあるクラスに上記の関数を追加する場合は第3引数を消してもいいと思います。
インポートが必要なものも一応書いておきましたのでそちらを追加してもらうと間違いないかと思います。
他の言語でもJavascriptExcutorの使い方はそれほど変わらないので上記の関数をもとに変更を加えてもらえれば利用できるはずです。
もし、希望があればPython版も追加します。
それでは楽しいSeleniumライフを!
追記
Windows7では上記の方法で解決できたのですが、Windows10では上記の方法では解決できませんでした。
文字コードの問題なのでOSレベルの問題だと思ったのですが、まさかWindowsのバージョンで差が出るとは…
誰か解決方法が見つかりましたらお知らせくださいm(_ _)m
コメントを残す