SikuliXには画像によって、クリック箇所の特定ができます。
しかし、画像をつかった場合、実際の画面の解像度やウィンドウサイズ、文字サイズによって、うまく同じ画像と認識してくれないことがあるため、その場合の回避策として画像の認識を使わない方法を記載します。
やりたいこと
googleの検索ページで検索を実施する。
作成コード
sikuliXSample
# CHROMEを開く
openApp("C:\Program Files (x86)\Google\Chrome\Application\chrome.exe")
# CHROMEにフォーカスする
switchApp("chrome")
sleep(3)
# 検索文字列を入力 typeでは日本語が扱えずエラーになる
paste(u"SikuliXとは")
# 検索を実行(Enter入力)
type(Key.ENTER)
# CHROMEを閉じる
# closeApp("chrome")
ポイント
今回のやりたいことでは、検索欄の指定と検索ボタンの押下部分が画像認識でクリックしたくなる箇所でした。
ただ、
- 検索欄の指定はChromeを起動すると検索欄に自動的にカーソルがあたっている
- 検索実行はボタンをクリックしなくてもエンターキーの入力で代用できる
という2つを利用すると画像認識をなくすことができます。
今回のように最初のカーソルの位置や代用できるキー操作などを知っておくと動作を安定させることができる場合があります。