文字列取得の代替策・OCRもどき
テキストを取得したいだけなのに、WinActorでうまくいかない、ときどき遭遇します。
何ともならないとき、フリーソフトでリーチできる場合があります。
会社のPCって制約がありがちですが、実行形式のアプリなら試す余地があるでしょうか。
WinActorとコラボさせる際の工夫をご紹介します。
ソフト情報
ポイント位置の文字列取得
http://mt-soft.sakura.ne.jp/web_dl/petit_tool/get_string/ここで紹介されてた[PointClip]の兄弟アプリ
https://winactor.com/questions/?q=【IE】画面上で選択できない文字列を取得する方法
体感のために使ったサイト
- Yahoo! JAPAN
https://www.yahoo.co.jp/ - HTMLタグ-フォームタグ-入力フォームを作る - TAG index
https://www.tagindex.com/html_tag/form/form.html
ミニマムなパーツ構成例(2.のサイトをモルモットに)
- クリック(WIN32):[開始]ボタン
- 画像マッチング:マウス移動のみ
[分類]セルの内側ギリギリを赤枠に、右セル2文字目を青+にした - 指定時間待機:2秒
- クリック(WIN32):[停止]ボタン
- 文字列取得(WIN32):上の枠
- 待機ボックス:取得結果
⇒「ブロックレベル要素」と表示された
WinActorとコラボさせる際の工夫
- 固定値を取得したい場合
ほぼ100%でマッチさせるなら、trueの場合に値を割り当ててあげることでも同じ結果が得られる(このアプリを使うまでもない) - 可変値を取得したい場合
[ポイント位置の文字列取得]をWinActorとコラボさせて本領を発揮するのは、可変値を取得する場面
▼ 相対位置にある、固定の項目名等を目印にできる場合
「画像マッチング」で[マウス操作位置]を利用可能
これもダブルクリック/トリプルクリック等で選択、Ctrl+Cでコピーできる対象なら、このアプリを使うまでもない
▼ 目印がない場合
70%とかの薄目で、可変地の先頭部分をマッチさせる感じにして、このアプリを使う
[検索範囲]の緑枠も適宜活用する
- このアプリを使うことで、OCRもどきが成り立つことになる
効果
今まで遠回りせざるをえなかったり、諦めていた箇所の文字列取得の実現
所感
- RPAソフトで手が届かないのはもどかしい
- きっと今後、WinActorもこういった機能を取り込んで、もっと利便性が高くなると思われる
- 動作環境にWin10の明記がないものの、テストの範囲では正常に動く
フリーソフトなので、どれだけ信頼できるのか、どれだけ信頼し続けられるのか、不安は拭えない
今後のテスト予定
- 今まで遠回りしていた箇所(メンテが発生する際に、ついでに差し替え)
- リモートデスクトップ(ダメ元で)
※ 解りやすい例に遭遇したら、時間を見つけて続報予定
以下、ReadMe.txtより引用
機能
- ウィンドウ上に表示されている文字列をテキスト形式で取得
テキスト形式であれば、(ほぼ)全て取得可能- ウィンドウ詳細情報(ハンドル/クラス名/位置/子ウィンドウなど)
- タグ構造リスト(HTMLドキュメントの場合)
取得形式
- リストビュー
各列はタブで区切られるので、エクセルに貼り付けた時、セル単位に配置される- ツリービュー
階層が下がるとタブでインデントされる
エクセルに貼り付けた時、階層が下がるたびにセル位置が右に移動する- HTMLドキュメント
ポイント位置のタグ(HTML形式の表記)とテキスト
上段にタグ、下段にテキストが表示される
(SELECTタグ内の各項目は改行で区切られる)- その他
テキストとして単純取得用途
- フォルダ内のファイル一覧作成
- メッセージボックスに表示される文言の転記
- スタートメニューの項目一覧
- デバイスマネージャなどのシステム情報転記
- ポイントしている時のみステータスバーに表示されるリンクアドレス
- Webページの解析
制限事項
- Web上のHTMLドキュメントはIE(MicrosoftInternetExproler)以外では不可
- 取得文字数は65535文字まで(テキストボックスの制限)
anothersolution 質問の編集
回答とコメントは、会員登録(無料)で閲覧できるようになります。
新規登録