ま・お さん プロフィール

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

ま・お さんのブログ記事

  • SikuliをRPAに使う−[8]他のツールとの連携
  • 連携するツールとしてここで取り上げるのは、実現できないことではないけれど、Sikuliの機能だけで実現するとなると「面倒くさいなー」と思ったとき、あるいは、Sikuliでは「無理だ」と思ったとき、Sikuliから呼び出して使ってほしいツールです。『こんなことは出来るの?』とよく聞かれる以下に示すことは、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の機能(パターン設定)以上の説明で、SikuliX IDEの使い方とclick()やpaste()の使い方が分かったと思います。これだけでも簡単なスクリプトを書くことはできますが、click()やpaste()だけでは実現できない操作も出てきます。そんなときは、Sikuliの機能一覧ページで、 [続きを読む]
  • SikuliをRPAに使う−[7]自動化する前に
  • ■そっくり自動化するのは止めようSikuliは、人が目で見て操作する位置を判断するのと同じように、画面上の画像を検索して操作する位置を特定します。人がキーボードから入力するのと同じように文字を入力することも、キーボードを押す操作も、すべて模擬することができます。ですから、極端な話、今、人がやっていることであれば全てSikuliで実現することができると考えられます。しかしながら、Sikuliでどこまでのことができるか [続きを読む]
  • SikuliをRPAに使う−[4]IDEの環境設定
  • ■環境設定(1)コマンドバーを非表示にするSikuliを初めて使うときは、どういうコマンドが使えるのか分からないので、SikuliX IDEの左側に表示されるコマンドバーは重宝するのですが、慣れてくるとスクリプトを記述する幅を狭くしているだけで邪魔になってきます。そう思ったときは、思い切って非表示にしましょう。①[ファイル]-[環境設定]を します。②[more options...]を します。③[CommandBar(old style)]の [続きを読む]
  • SikuliをRPAに使う−[2]セットアップ
  • Sikuliは、Windows/Mac/Linuxで動作しますが、私はWindows環境での経験しか無いので、Windowsの場合でセットアップ方法を説明します。■事前準備Sikuliをセットアップする前提条件として、Javaの実行環境「JRE(Java Runtime Environment)」が必要です。(1)Javaの確認何かのときにJREをインストールしている場合もあるので、JREがインストールしてあるか確認してみましょう。コマンドプロンプトで、[java -version]と入力すると [続きを読む]
  • SikuliをRPAに使う−[1]はじめに
  • ここ数年、RPA(Robotic Process Auotomation)が注目されてきて、「働き方改革」のキーワードとともに一気に盛り上がってきていると感じます。そんな中、Sikuliがお手軽なRPAツールとして注目されつつあることが分かりました。このブログではこれまで、Sikuliを使う場合の課題解決を目的とした単発のTipsを書いてきましたが、少し趣向を変えて、連載もので、これからSikuliを使ってみようと考えている人に、失敗しないSikuliの導入 [続きを読む]
  • SikuliXをロールプレイングゲームの戦士に例えてみたら
  • SikuliXをロールプレイングゲームの戦士に例えてイメージ図にしてみました。(内容薄い〜 )SikuliXは誕生以来いろんな武器を手に入れて(バインドして)きています。武器はライブラリをimportしてから使うこともあります。SikuliXに無い特殊な技術が必要なときは、経験値の高い勇者に協力してもらうことを考えましょう。勇者に協力してもらうときは、ライブラリをloadしたり、外部プログラム実行のためのrunを使います。・OpenCVを [続きを読む]
  • Sikuli 複数のIDEを実行する
  • SikuliX 1.1.2(2017/10/17 Nightlyビルド)から、SikuliX IDEの複数インスタンスを実行可能になりました。SikuliX 1.1.2をセットアップ後、セットアップフォルダに生成される「runsikulix.cmd」をテキストエディタで修正すればOKsikulix.jarを実行する行に「-m」オプションを追加すると、複数のIDEを実行できます。(Nightlyビルドの修正履歴のコメントには、自分が何をしようとしているか認識した上で使うように注意書きが付いて [続きを読む]
  • Sikuli PowerShell連携する際の注意点
  • SikuliXからPowerShellスクリプトを実行する場合のトラブルシューティング事例です。 ■現象1SikuliXスクリプトの中で、run()でPowerShellを実行したらrun()から戻ってこない。PowerShellは終了せずプロセスが実行中のまま残ってしまう。【発生条件】PowerShell 2.0環境で発生する。【対策方法】PowerShellを実行する際のパラメータに「-inputformat none」を指定する。■現象2ウインドウが表示していなくて [続きを読む]
  • 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 [続きを読む]