ま・お さん プロフィール

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

ま・お さんのブログ記事

  • UIAutomation PowerShell ExtensionsをRPAに使うときのトラブルシューティング
  • 「SikuliをRPAに使う」の番外編として、PowerShellおよびUIAutomation PowerShell Extensionsを使うときのトラブルシューティングについて書いておきます。(1)Import-moduleでエラー【現象】UIAutomation PowerShell Extensionsのライブラリ(UIAutomation.dll)をImport-moduleするところでエラーになる。【原因かも】dllファイルをネットワークフォルダに置いてImportしようとしていませんか?その場合は、ローカルドライブに置 [続きを読む]
  • Sikuli Java9やJava10ではload()が使えない
  • Java8まではsikulix.jarに無いモジュールでも、load(jarファイルへのパス)と記述するだけで使えたのに、Java9以降は拡張メカニズムが削除になったことで、load()が効かなくなりました。JDBCドライバーやSeleniumを使いたいときload()が重宝していただけに、Java9から使えなくなるのは大変、ということで回避策を調査しました。『クラスパスを指定すればいい。』という情報を基にいろいろ試してみるものの、うまくいきません。いつ [続きを読む]
  • Sikuli ドキュメント未公開の設定や機能
  • SikuliX公式サイトのドキュメントページで公開していない設定や機能を紹介するページです。(※カッコ内の日付は、ドキュメントページ公開状況を確認した日付です。いつの間にかドキュメントに追加になっているかもしれません。)■設定(1)Settings.setImageCache(2018/5/20)Settings.setImageCache(0):デフォルトでは一度使った画像はキャッシュされ、画像が更新されたとしてもキャッシュしたものが使用されますが、この設 [続きを読む]
  • Sikuli UIAutomationPowerShellExtensionsの入手方法
  • 以前は「CodePlex」にオープンソースの各プロジェクトサイトがありましたが、最近は、ほとんどのオープンソースの管理がGitHubに移行したことを受けて、「CodePlex」はその役割を終え、各プロジェクトのリソースなどすべてがアーカイブされました。UI Automation PowerShell Extensionsは、「https://archive.codeplex.com/?p=uiautomation」でダウンロードできますが、アーカイブされたことでプログラムがどこにあるのか探すのが [続きを読む]
  • Sikuli スクリプト例や自動化のヒントへのリンク一覧
  • このブログの中にあるSikuliのスクリプト例や自動化のヒントへのリンク一覧です。SikuliXのバージョンアップによって使える機能が順次増えているので、古いバージョンには無い機能もある。SikuliX-IDEのタイトル行に(SikuliX1.1.0からは左下にも)バージョン表示があるので、サンプルスクリプトはSikuliX-IDEのキャプチャ画像を貼り付けるようにしている。(1)Pythonの使い方で困らないように知っておきたい話・操作ログ出力に日付 [続きを読む]
  • Sikuli 【FAQ】操作フローの進捗表示を行う方法はあるの?
  • 【質問】入力値を変えて同じ操作を繰り返すスクリプトで、何個目の入力値まで進んでいるのか表示したいけど、popup()だと人が[OK]ボタンを するまでポップアップウインドウが消えません。操作フローの進捗状況を表示更新するにはどうしたらいいの?【解決策】数秒表示したらウインドウを消す指定ができるDo.popup()なら、操作フローの進捗表示に使えます。【コード例】Do.popup()を呼び出すホットキーを定義しておいて、ホ [続きを読む]
  • Sikuli IDEからSelenium WebDriverを使う(API逆引き)
  • 「スクリプトの大部分はSikuliで書いて、Sikuliでは難しいけどSeleniumなら超簡単、というところについてはSeleniumに頼っちゃおう。」というスタンスでいるので、必要に迫られないとSeleniumのAPIを調べません。そんなときにいつもお世話になっているページがあります。「Selenium API(逆引き)」です。上記ページでは、目的別にSelenium APIの使い方が説明してあって、Selenium APIを呼び出すときのインタフェースはJavaとPython [続きを読む]
  • SikuliをRPAに使う−トラブルシューティング(FindFailed)
  • FindFailed例外エラーは、[10]処理の分岐で説明した通り、find()系の関数の引数に指定した画像が見つからなかったときに発生します。ここでは、FindFailed例外エラーが発生しないようにするためのヒントと、エラーが発生してもスクリプトが終了しないようにする仕掛けについて紹介します。(1)失敗しないための検索画像と検索領域の考え方Sikuliには「最小類似度」の考え方があり、検索に指定した画像と完全に一致した画像がスク [続きを読む]
  • SikuliをRPAに使う−トラブルシューティング(文字化け)
  • スクリプトを対話型にするときやログを出力するとき、どうしても日本語を使いたくなります。そんなときに悩まされるのが、この文字化け現象です。対策方法は、理屈は抜きにして「おまじない」だと考えたらいいようなことから、しっかり理屈を理解しておかないといけないことまで、いろいろ説明します。(1)ポップアップ表示の文字化けSikuliX IDEの編集ペインで正しく日本語表示できている場合でも、表示すると文字化けしてしま [続きを読む]
  • SikuliをRPAに使う−[13]スクリプトの配布
  • 作成したスクリプトは、一人で使うものもあれば、複数人で使うものもあるはずです。ここでは、作成したスクリプトを複数人で使う場合に必要となるスクリプトの配布について説明します。(1)配布先の前提条件・Java実行環境は、ファイルコピーだけでは構築できないので、スクリプトの配布先パソコンでそれぞれインストールが必要です。・スクリプトを使うときは、click()やfind()に指定している画像のピクセルサイズが、スクリプ [続きを読む]
  • Sikuli IDEからSelenium WebDriverを使う(トラブル対策)
  • try・・・except・・・の構文を使ってスクリプトを書いておかないと、Selenium APIの実行時にエラーが発生してスクリプトが止まっても、何が原因なのかさっぱり分かりません。かならずtry・・・except・・・を使いましょう。■コード例IEDriverServer = "C:selenium32bitIEDriverServer.exe"BASE_URL = "http://masuo.doorblog.jp/archives/51755047.html"load("C:Selenium32bitselenium-server-standalone-2.45.0.jar")import org.openqa.sele [続きを読む]
  • SikuliをRPAに使う−[12]処理を対話型にする
  • 操作手順が複数あるときは、順番に実行するときもあれば、途中で順番を戻したりひとつ飛ばしたりしたくなることがあると思います。そんなときのために、実行するスクリプトを選択する例を紹介します。このスクリプトでは、ポップアップダイアログウインドウが開いて、次に実行する操作を選択することができます。flow_step1(), flow_step2(), flow_step3()は独立した操作の単位と考えてください。この例では、ポップアップウインド [続きを読む]
  • SikuliをRPAに使う−[11]処理の繰り返し
  • 画面の操作を行って表示したい対象案件が複数あるようなケースで、処理を繰り返すスクリプトの書き方を説明します。(1)案件番号をリストにもつリスト ANKEN に案件番号を定義しておいて、for 文でリストの順番に読み出す例です。print の代わりにclick()やpaste()といったSikuliのコマンドを使えば、操作の繰り返しができます。(2)案件番号をテキストファイルにもつ上の例では、スクリプトコードの中でリストを定義している [続きを読む]
  • SikuliをRPAに使う−[10]処理の分岐
  • ある条件に該当しているときだけ操作を行いたいケースで、どのようにスクリプトを書くのかを説明します。下の画像は、[マウスのプロパティ]ウインドウで、[ポインターオプション]タブを表示しているところです。『[ポインターの軌跡を表示する(D)]にチェックが入っていなければ、チェックを入れる。』という操作を行いたいとき、どのようにスクリプトを書けばいいかを考えます。チェックが入っていない状態の画像をキャプチャして [続きを読む]
  • SikuliをRPAに使う−[9]操作フローの見える化
  • ここでは、Windows10に標準で入っている「電卓」アプリの操作を自動化する場合を例にして、操作フローの見える化の説明をします。■スクリプトコードの関数化画面の操作をスクリプトにするときは、最初から最後まで続けてだらだらとスクリプトを書くのではなく、独立した操作の単位で関数化する(名前を付ける)ようにします。そうすることで、スクリプトコードが読みやすくなります。読みやすくしておけば、操作手順が変更になっ [続きを読む]
  • SikuliをRPAに使う−[8]他のツールとの連携
  • 連携するツールとしてここで取り上げるのは、実現できないことではないけれど、Sikuliの機能だけで実現するとなると「面倒くさいなー」と思ったとき、あるいは、Sikuliでは「無理だ」と思ったとき、Sikuliから呼び出して使ってほしいツールです。Sikuliを始めたばかりの人は、[9]操作フローの見える化の方を先に読んでください。『こんなことは出来るの?』とよく聞かれる以下に示すことは、Sikuliに含まれている機能(jythonおよび [続きを読む]
  • SikuliをRPAに使う−[6]IDEの機能(パターン設定)
  • find()やclick()の引数に指定している画像を すると、[パターン設定]ウインドウが開きます。[パターン設定]ウインドウでは、意図した操作を実行するために必要となる「最小類似度」や「オフセット」を設定します。YouTubeのチュートリアルを参照してください。 下のイラストの違いを認識することは、人間にとっては簡単なことです。でも、Sikuliでは、女性のイラストの画像を指定してfindAll()で検索するだけだと、両方が [続きを読む]
  • SikuliをRPAに使う−[5]IDEの機能(リボンに配置されているコマンド)
  • SikuliX IDEのリボンには、スクリプトを編集したり実行するためのボタンが設けてあります。ここでは、そのボタンの使い方を説明します。(1)スクリーンショットを撮る任意のタイミングでスクリーン上の画像をキャプチャする手段として、このボタンがあります。「click()」と入力して、カーソルをカッコの中に置いてボタンを すれば、キャプチャした画像をclick()の引数として設定することができます。コマンドバーからcli [続きを読む]
  • SikuliをRPAに使う−目次
  • 1.Sikuliの使い方の基礎 [1]はじめに [2]セットアップ [3]スクリプト作成のいろは [4]IDEの環境設定 [5]IDEの機能(リボンに配置されているコマンド) [6]IDEの機能(パターン設定)2.RPAへの応用 [7]自動化する前に [8]他のツールとの連携 [9]操作フローの見える化 [10]処理の分岐 [11]処理の繰り返し [12]処理を対話型にする [13]スクリプトの配布3.トラブルシューティング [14]文字化け [15]FindFailed例外以上の説 [続きを読む]
  • SikuliをRPAに使う−[7]自動化する前に
  • ■そっくり自動化するのは止めようSikuliは、人が目で見て操作する位置を判断するのと同じように、画面上の画像を検索して操作する位置を特定します。人がキーボードから入力するのと同じように文字を入力することも、キーボードを押す操作も、すべて模擬することができます。ですから、極端な話、今、人がやっていることであれば全てSikuliで実現することができると考えられます。しかしながら、Sikuliでどこまでのことができるか [続きを読む]