SikuliXイマイチ使い方がよくわかりません。色々なサイト・英語サイトを見ていろいろ試しています。
私は、小さなTOOLが簡単に作れるAutoHotkey、Autoitが好きです。
SikuliXで小さなTOOLは、不向きだと思います。コマンドラインで実行すると5~7秒起動するまでに時間かかります。
SikuliXの本家英語サイト(ダウンロード先):
以前のSikuliの記事(1):
AutoHotkeyのおすすめ記事:
Autoitのおすすめ記事:
マウスが上にないと、隠れてしまう窓の画像を切り取る
簡単な動画説明
SikuliXをショートカットキーで動かす
ポップアップのメニューだとSikuliXをアクティブにすると消えてしまうので、目標画像が取得できません。
そこで使うのがショートカットキーです。
CTRL+Shift+2 デフォルトの場合 押しづらい!
ショートカットキーを簡単に変更する
「ファイル」>「環境設定」とクリック
赤矢印先の中にカーソルを入れ、好きなキーを押せば変わります。
App.open(“フルパス+起動ファイル名”)
App.open("G:\App\notepad_plus\notepad++.exe")
これだと、エクスプローラーが開くだけです。(パスの区切り「\」1つ)\
パス区切り 「\\」2つにすると正しく動く \
App.open("G:\\App\\notepad_plus\\notepad++.exe")
簡単に「¥」を「\\」する方法:
ToMoClipというフリーソフトを使えばできます。
マクロを使い書き換えすればOK
やりかたは、別記事で
SikuliでChromeを操作する App.open( )
Chromeを最初から、起動する
#App.open("C:\Program Files\Google\Chrome\Application\chrome.exe")
#App.open("C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe")
App.open('"C:\Program Files\Google\Chrome\Application\chrome.exe"' "https://www.yahoo.co.jp/")
#App.open('"C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"' "https://www.yahoo.co.jp/")
App.open(‘” ~~.exe”‘ “引数”) ‘ ‘ アポストロフィで囲む
開いているChromeを操作す .focus( )
myApp = App("Chrome") #名前 同じものあると動かない
App.focus("Chrome")
#type("t",Key.CTRL) #新規TAB
type("n ",Key.CTRL) #新規Window
paste("https://www.yahoo.co.jp/")
type(Key.ENTER)
#wait(1)
type(“送るキー”, 同時におスキー) Key.CTRL 大文字
動画で説明:
python2.7 subprocess.call( )でURLを開く
import subprocess
myApp = "C:\Program Files\Google\Chrome\Application\chrome.exe "
myOption = "--new-window"
#myOption = ""
subprocess.call([myApp, myOption, "https://www.yahoo.co.jp/"])
AR_CADの簡単図形をSikuliXで描いてみる
click("1612935483066.png") # 長方形のアイコン
click("1612935513536.png") # 数値入力欄
wait(1)
type(Key.BACKSPACE)
wait(1)
type("25"+Key.ENTER)
wait(1)
type("30"+Key.ENTER)
wait(1)
type("150"+Key.ENTER)
wait(1)
type("135"+Key.ENTER)
使うのは、画像click()、type()だけです。
AR_CADの使い方はこちら:
データをCSVから読む
import csv
csvFile="F:\\studyData\\sikuli\\AR_CAD.sikuli\\ar_cad.csv" #\ダブル
csvData=[0,0,0,0]
f=open(csvFile,'rb')
Settings.MoveMouseDelay = 0.1
for row in csv.reader(f):
cnt=0
for data in row:
csvData[cnt] = data
cnt +=1
click("1612935483066.png")
click("1613046921670.png")
wait(0.3)
type(Key.BACKSPACE)
wait(0.3)
type(csvData[0]+Key.ENTER)
wait(0.3)
type(csvData[1]+Key.ENTER)
wait(0.3)
type(csvData[2]+Key.ENTER)
wait(0.3)
type(csvData[3]+Key.ENTER)
import csv #これが必要
ファイルのパスは\\ 2個ダブルにしないとダメ
wait() #0.2 少数でもいいみたい
regionA=範囲画像
regionA.click(画像)
これで探す範囲を狭めることができるようです。動かした感じ早くなっていない。
コメント