ま・お さん プロフィール

  •  
ま・おさん: masuo発電所
ハンドル名ま・お さん
ブログタイトルmasuo発電所
ブログURLhttp://masuo.doorblog.jp/
サイト紹介文IT系資格と技術情報、太陽光発電実績をメモしているブログです。
参加カテゴリー
更新頻度(1年)情報提供28回 / 365日(平均0.5回/週) - 参加 2013/05/19 10:24

ま・お さんのブログ記事

  • Sikuli 表示結果の文字列をUIAutomationを使って読み取る
  • SikuliXにはOCR機能があるけれども、表示内容が正しいかどうか検証できるほどの精度は無いし、日本語の画面であれば、OCR機能で読み取れないことがほとんどです。『画面操作の自動化はSikuliスクリプトで書きたいけど、表示内容の検証もしたい。』という場合、文字列を読み取るところだけUIAutomationを使うのがいいかもしれない。■今回試した動作環境・Windows7 SP1・SikuliX 1.1.1・PowerShell 4.0 + UIAutomation PowerShell E [続きを読む]
  • Sikuli TreeViewコントロールの操作はUIAutomationに任せる
  • Sikuliは事前に用意した画像を基に操作の位置を探すので、状況によって表示内容が可変になるTreeViewコントロールの操作をSikuliで行うのは困難です。「ある時点ですべてのTreeView項目の画像を用意しておいたとしても、その後に追加した項目の画像は無い訳だし、そもそも画像を用意する場合は階層構造で保持しないとだめかも。」というように、Sikuliで実現するには困難な問題が数多く立ちはだかります。そんなときは、Sikuliで難 [続きを読む]
  • Sikuli 失敗しないための検索画像と検索領域の考え方
  • find()やexists()などの検索系コマンドでは、検索条件に指定した画像と全く同じ画像が存在する場合でなくても、設定した類似度(デフォルトでは70%)以上の画像が存在するとマッチオブジェクトが返ってくる。このため、検索したい画像のキャプチャ範囲や検索領域は、それほど厳密にしなくてもいいと考えがちになる。ところが、「検索したい画像の端が、検索領域の中に含まれなければならない。」という基本的な考え方だけは理解 [続きを読む]
  • Sikuli 拡張機能「Sikuli Guide」を使って画面上にガイドを表示する
  • 画面操作のチュートリアルを作る際には、操作する箇所について簡単な説明文を表示すると分かりやすくなる。そんな要望に応えてくれる拡張機能「Sikuli Guide」があることが分かった。使い方はここに載っているが、ツールチップの表示位置が説明と異なる。質問サイトで問い合わせたところ、開発者より『SikuliX以前の実装に基づいた説明が載っていて、現在のSikuliXの実装は文書化されていない。』との回答があった。今後、使い方の [続きを読む]
  • Sikuli 【SikuliX1.1.1バグ】Region.getCol(n,cols)とRegion.getRow(n,rows)
  • どういうときに使うと効果があるか分かりづらい機能だからだろうか、誰からも指摘されることなくバグが放置されていたみたいだ。(一覧表示の要素を処理するときに使えるんだけどね。)SikuliX1.1.0も同様、この機能を使いたいときはSikuliX1.1.2以降のバグフィックスを待つしかない。(1)Region.getCol(n,cols)Region.getCol(n,cols)は、Regionを1行×cols列に等分したときのn番目の列の領域を取得する関数。【現象】nがマイナ [続きを読む]
  • Sikuli 【FAQ】クリックする場所は特定できているのにclickが効かない
  • click("image.png")が思った通り行かないことがある場合、Sikuliが想定した画像を探しているのかどうかをまず確認する必要がある。FindFailed例外が発生していないのなら、Sikuliは"image.png"に対応した画像をどこかに探し出していることになる。検索した結果がどこだったのか調べるには、click("image.png")の前にfind("image.png").highlight(1)を1行追加してみるとよい。Sikuliが見つけた矩形が赤枠で囲って表示される。想定 [続きを読む]
  • Sikuli 【FAQ】OCR言語を切り替える
  • SikuliXではTesseract-OCRを使っている。デフォルトでは英数字しか認識しないけど、日本語データ(jpn.traineddata)をダウンロードすると(認識率は低いけど)日本語も認識できるようになる。Sikuli公式サイトのFAQの該当箇所はここ。 例)Windows10だと、日本語データを格納するフォルダはここ↓。C:Usersユーザー名AppDataRoamingSikulixSikulixTesseracttessdata ■OCR言語を日本語に切り替えるときの処理import org.sikuli.sc [続きを読む]
  • Sikuli 【FAQ】実行中のSikuliで設定情報を変更可能にする方法
  • Sikuli質問サイトに、『Sikuliの実行を止めないでSikuliで使う変数を変更するにはどうすればいいか?』というに質問が挙がっていた。これを実現するための私のアイデアは、Hotkeyを使う方法だ。Hotkeyを定義しておくとHotkey入力のタイミングで割り込み処理を実行することができる。この機能を使えば、スクリプト実行中に設定情報を変更することが可能になる。デフォルトではexists()のタイムアウトは3秒。以下の例は、ctrlとmキー [続きを読む]
  • SikuliX 1.1.1 final版をダウンロードする
  • SikuliX1.1.1はfinal版になったようで、4月6日からNightly Buildのページでダウンロードできなくなった。4月28日からNightly BuildのページではSikuliX1.1.2がダウンロードできるようになっている。SikuliX1.1.1はどこに行ったかというと・・・以下のURLからダウンロードできるようになっている。https://launchpad.net/sikuli/sikulix/1.1.1(RaiMan's SikuliXページの先頭にリンクがある。)セットアップ用のjarファイルをダブル [続きを読む]
  • SikuliX1.1.1に実装されたSikuliX2のbackport機能
  • ポップアップダイアログ機能4種(popup, popAsk, popError, input)に、時間指定でウインドウを自動で閉じる機能が実装されました。さらに、表示位置を引数で指定できるようになっています。一時的に表示位置を変更するだけなら、popatを使う必要がなくなりました。SikuliX2でcom.sikulix.api.Doクラスに実装される機能が、SikuliX1.1.1のorg.sikuli.script.Doクラスに移植されたもので、使うときはクラスを明示する必要がありま [続きを読む]
  • Sikuli onAppearの使い方が変わった(>_<)
  • SikuliX1.1.0まで動いていたスクリプトがSikuliX1.1.1で動かなくなった。【2017/3/30追記】上のコメントを書いたときのNightly Buildは、observe()にバグがあってstackoverflowが発生していたことが分かった。すでに対策されている。とりあえず、SikuliX1.1.1で実装されたメソッドを試したところ、こんな感じで使える。 [続きを読む]
  • Sikuli 【FAQ】夜間バッチで実行するにはどうするの?
  • 『Sikuliスクリプトを夜間バッチで実行するにはどうしたらいいんだろう』永遠のテーマみたいに考えていたのが、意外と簡単な仕掛けで解決できた。 ■悩ましかったこと タスクスケジューラでSikuliを起動することはできるけど、ログオフした状態だとSikuliが動作しない。(夜間バッチが起動される時刻には無人で、ログオフしている状態だ。)「Sikuliはスクリーンの無い環境では動作しない。」という課題をどうやってクリ [続きを読む]
  • Sikuli 使い方(チュートリアル)
  • 日本語のチュートリアルはまだ無いようなので、テキスト読み上げソフトを使って簡易チュートリアルを作成しました。(音がかぶったり飛ぶようなときは、ブログページで視聴するのではなく、YouTubeに行って視聴するといいみたいです。)私が考えるおすすめポイントです。 学習コストについての補足説明 SikuliXで自動化する画面についての向き不向きの簡単な説明 SikuliX-IDEの機能(マッチングプレビューとターゲットオフセッ [続きを読む]