SikuliXのインストール方法[PythonでGUI操作の自動化]

SikuliXのインストール方法[PythonでGUI操作の自動化] プログラミング

Pythonにおける自動化処理には、いろいろなやり方があります。
今回は、そのうちの一つであるSikuliXに関して解説していきます。

SikuliXには、他の方法とは大きく異なる特徴があります。
その特徴とは、専用の開発ツール(IDE)が用意されていることです。

この記事では、実際にそのIDEを使って動作確認まで行います。
この記事を読めば、SikuliXでGUIの自動化を行うことが可能となります。

本記事の内容

  • SikuliXとは?
  • SikuliXのシステム要件
  • SikuliXのインストール
  • SikuliXの動作確認

それでは、上記に沿って解説していきます。

SikuliXとは?

Sikuli(̪シクリ)とは、インディアン文化において神の目を表します。
神の目のごとく、GUI操作するということなのでしょうか?

そのSikuliは、2009年に開発が始まりました。
2012年にSikuliのサポートが引き継がれる形で、SikuliXが誕生しました。

つまり、SikuliXはSikuliの後継プロジェクトということになります。
では、このSikuliXとはいったい何なのでしょうか?

SikuliXは、デスクトップコンピュータの画面上に表示されているものを自動化します。
GUI処理の自動化ツールと言えます。

具体的には、様々なアプリケーションを連携させることが可能です。
連携させて、処理を自動化します。
いわゆる、RPAというヤツです。

そして、連携させる処理(命令)をSikuliX上で記述していくわけです。
その際に、PythonやRubyなどのプログラミング言語を利用できます。

ここでSikuliXの技術的なことを説明しておきます。
まずは、SikuliX自体はJavaで開発されています。

これが大きな特徴の一つです。
もう一つは、 SikuliXが以下の技術に支えられているということです。

  • OpenCV
  • Tesseract

OpenCV

OpenCVに技術により、画面のGUIアプリを認識できます。
OpenCVと言えば、顔認識で有名ですね。
このOpenCVのインストールに関しては、次の記事で解説しています。

当ブログにおけるOpenCVに関する過去記事は、以下で確認できます。
OpenCVに関する過去記事

他のツールやライブラリでも、OpenCVは利用されています。
その意味では、OpenCVを画像認識に利用するのは一般的なことと言えます。

Tesseract

Tesseractの技術により、テキストを認識しています。
Tesseractは、オープンソースのOCRです。

次の記事では、Tesseractに関して解説しています。

こちらもOpenCVと同じく、他のツールやライブラリで利用されています。
SikuliX自体もオープンソースです。

このようにオープンソース同士が協働し合うのは、本当に素晴らしいことと言えます。
是非とも、このオープンソースの恩恵を受けましょう。

SikuliXのシステム要件

2021年1月時点において、SikuliXの最新(安定版)バージョンは2.0.4となります。
この最新バージョンは、2020年3月にリリースされています。

SikuliX 2.0.4のシステム要件で重要なのは、一つだけです。
「Javaが必要」

Javaのインストールに関しては、ここでは説明しません。
もしかしたら、すでにインストール済みかもしれません。

ちなみに、コマンドプロンプトで次のように入力してください。

>java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)

インストールされていれば、上記のようにJavaのバージョンが表示されます。

ただし、バージョンには注意してください。
最低でもJava 8以上が必要となります。

よって、私の環境では大丈夫です。
Javaのバージョンさえクリアしていれば、特に問題はないでしょう。

SikuliXのインストール

ここでは、Windows 10にSikuliXをインストールします。
そして、SikuliX上ではPythonでプログラミングをします。

そのためのインストール手順となります。

SikuliXの公式ダウンロードページ
https://raiman.github.io/SikuliX1/downloads.html

最初に、上記ダウンロードページにアクセス。
シンプルなページ上に以下のリンクがあります。

上記リンクをクリック。
そうするとファイルのダウンロードが始まります。

適当(各自で管理する)なフォルダに保存します。
続けて、同じページ上に次のリンクがあることを確認してください。

SikuliX上でPythonを利用するので、「The Jython interpreter 2.7.1 for python scripting (the default)」をクリック。
もしRubyを利用するなら、「The JRuby interpreter 9.x for ruby scripting」を選んでください。

先ほどの「sikulixide-2.0.4.jar」を保存したのと、同じフォルダに保存します。

結果的に、選択したフォルダ内は上記のような状況になるはずです。

以上で、SikuliXのインストールが完了となります。
「もう終わり?」と思うかもしれませんが、最新バージョンはこれでインストールが終わりです。

それでは、最後に動作確認をしておきましょう。

SikuliXの動作確認

SikuliXIDE(統合開発環境)を起動します。
jarファイルをダウンロードしたフォルダにまで移動。

SikuliXIDEの起動方法には、2つの方法があります。

  • jar(sikulixide-2.0.4.jar)ファイルのダブルクリック
  • コマンドプロンプトにおいてJavaコマンドの実行

Windows環境なら、ダブルクリックで起動することになるでしょう。
コマンドで実行する場合は、以下。

>java -jar sikulixide-2.0.4.jar

もし起動に失敗するばら、次のオプションで起動すればログが見れます。

>java -jar sikulixide-2.0.4.jar -v -c

起動に成功したら、以下の画面が表示されます。

ここでjarのあるフォルダを確認します。
そうすると、「jython-standalone-2.7.1.jar」が消えています。

安心してください。
「jython-standalone-2.7.1.jar」は、以下のフォルダに移動しているだけです。

C:\Users\ユーザー\AppData\Roaming\Sikulix\Extensions

確認できたら、SikuliXIDEのメニュー「ツール」をクリック。

以下のようなサブメニューが表示。

「拡張機能」を選択します。
以下の画面が表示されます。

ここでは特に何かをするわけではありません。
jython-standalone-2.7.1.jarが、Extensionsフォルダにある時点で拡張機能として有効のようです。

最後に実際にGUIアプリの自動処理をしてみましょう。
自動化する処理は、「メモ帳の起動」です。

コードは、以下。

# -*- coding: utf-8
import os
import subprocess

#アプリのパス
app_path = os.path.join(os.environ['WINDIR'],'notepad.exe')

#対象アプリを開く
subprocess.Popen([app_path])

#アプリの起動を待つ
sleep(3)   

以下のようにコードを記載します。

コードを記述したら、「実行」ボタンをクリック。
(ファイルは適当な名称で保存してください)

自動的にメモ帳が立ち上がります。
簡単な処理ですが、見事に自動化の成功です。

タイトルとURLをコピーしました