2016-09-19 14 views
1

私は同じイメージの3つ以上をクリックしようとしていますが、findAll() 3つ以上がない場合は選択したくない場合は1イメージのみを選択したいと思っています。Sikuliでは、少なくとも3つの同一の画像を見つけてクリックするにはどうすればいいですか?

if exists(Pattern("1474201252795.png").similar(0.95)): 
    wait(1) 
    for x in findAll(Pattern("1474201252795.png").similar(0.95)): 
     click(x) 

答えて

2

だから最初の画像をカウントし、カウントが3

imageCount=0 

images = [] 

# find all images and store them in a list to prevent additional search 
for image in findAll("Win7StartBtn.png"): 
    images.append(image) 

#check list length and act accordingly 
if len(images) >= 3: 
    for image in images: 
     image.click() 
+0

よりも高いかどうかをチェックしていただきありがとうございます - これは1つの特定のイメージのために動作します。複数の画像を検索したい場合は、コードをx回だけコピーするか、必要以上に難しくしていますか? –

+0

私はただ1つの問題に遭遇しました。 > = 2に設定すると、3,4,5または6枚の追加画像があっても2だけが選択されます。 –

+0

「複数の画像」と言ったときに正確に何を意味するのか分かりませんか?他の画像に対して同じ手順を実行することを意味するならば、このコードを関数として定義して、異なる引数で再利用することができます。特定の画像ごとにこの関数を別々に呼び出す必要があります。 –

関連する問題