ま・お さん プロフィール

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

ま・お さんのブログ記事

  • 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でどこまでのことができるか [続きを読む]
  • 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 Automation)が注目されてきて、「働き方改革」のキーワードとともに一気に盛り上がってきていると感じます。そんな中、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で難 [続きを読む]