SendKeys
September 10, 2020
古いいろんな社内システムが動いてます。
そして新システムとしてWebベースのシステムが導入された。
各業務でログインが面倒くさいんですよね。
社内で書いたプログラムならログイン画面にコマンドライン引数でユーザーID、パスワードを渡したらログイン画面をスキップして自動ログインなんて出来るけど、社外製のWebアプリではそうも行かず。
(URLの後ろにパラメータ積むとログインする機能を付けといてよ。)
という事でSEたる者いかに楽をするかを考えるワケです。
で、なんちゃってシングルサインオンアプリを作ってみてテスト中です。
Webアプリのログインのサンプルコードを載せておきます。いろいろ調べた結果以下のSendKeysを使う方法でテスト中。(VB2008でコーディング)
■ちょっと説明
SendKeysでキーボード入力をシミュレートしている。
WaitForInputIdle という命令でアプリ側が入力可能状態まで待つというのがあるが、ブラウザは起動してすぐに戻ってきてしまう。
なのでProcessでブラウザが起動しているか調べ、起動していなかったら待ち時間を増やすようにした。
PCのスピードによっては要調整。
IEではどうもエラーになるようです。今どきIEのWebアプリはナシでしょう・・・でしょう?
直接、SendKeysでユーザーIDを送ってしまうとIMEが日本語入力になっていると変換しようとするので、一旦クリップボードにセットして、Ctrl + Vの貼り付けをするようにした。
IMEモードをオフにする命令があると思うが、サクっと調べられなかったのでとりあえずクリップボード経由に。
起動時のウェイト、入力項目移動時のウェイトについてはテストして調整してみてください。
このサンプルコードは1つ目のテキストボックスがユーザーID、2つ目がパスワード、その次にログインボタンの場合。
画面構成が違う場合はTAB移動を挟んで調整が必要です。
続きを読む
そして新システムとしてWebベースのシステムが導入された。
各業務でログインが面倒くさいんですよね。
社内で書いたプログラムならログイン画面にコマンドライン引数でユーザーID、パスワードを渡したらログイン画面をスキップして自動ログインなんて出来るけど、社外製のWebアプリではそうも行かず。
(URLの後ろにパラメータ積むとログインする機能を付けといてよ。)
という事でSEたる者いかに楽をするかを考えるワケです。
で、なんちゃってシングルサインオンアプリを作ってみてテスト中です。
Webアプリのログインのサンプルコードを載せておきます。いろいろ調べた結果以下のSendKeysを使う方法でテスト中。(VB2008でコーディング)
■ちょっと説明
SendKeysでキーボード入力をシミュレートしている。
WaitForInputIdle という命令でアプリ側が入力可能状態まで待つというのがあるが、ブラウザは起動してすぐに戻ってきてしまう。
なのでProcessでブラウザが起動しているか調べ、起動していなかったら待ち時間を増やすようにした。
PCのスピードによっては要調整。
IEではどうもエラーになるようです。今どきIEのWebアプリはナシでしょう・・・でしょう?
直接、SendKeysでユーザーIDを送ってしまうとIMEが日本語入力になっていると変換しようとするので、一旦クリップボードにセットして、Ctrl + Vの貼り付けをするようにした。
IMEモードをオフにする命令があると思うが、サクっと調べられなかったのでとりあえずクリップボード経由に。
起動時のウェイト、入力項目移動時のウェイトについてはテストして調整してみてください。
このサンプルコードは1つ目のテキストボックスがユーザーID、2つ目がパスワード、その次にログインボタンの場合。
画面構成が違う場合はTAB移動を挟んで調整が必要です。
続きを読む
















