超ザックリ、こんな感じですよね。作業する領域を決める。ボタンを探してクリックする。目的を達成するまでの手順を決める。作業領域を決めるまずは作業領域を決めましょう~!ここでは、要はデスクトップの「どこで作業をするか」を決めます。ネットサーフィンでWebサイトをポチポチするときって、無意識にブラウザを見てその画面の中で作業をしていますよね?同じように、自動化をする場合も、まずは「どこで作業をするか」を決めます!まずは、エディタ部に下記のように入力してください。あ、実際にやってみるのはもう少し読んでからにして下さい!!押下すると、画面全体がグレーっぽくなります。※ならない場合は後述する方法で対応してください。今回演習する表を、ドラッグアンドドロップで範囲選択してください。↓みたいな感じ!スクリーンショット機能を使うと、たまに画面全体がグレーっぽくならず、固まってしまうことがあります。なるとどこもクリックできなくなります(;;)ただ、直し方があるのでご安心ください(^^♪そうなったらまず、焦らずに以下の手順を実施してみてください。1.Windowsボタンを押して一番下のバーを右クリックしてタスクマネージャを起動します。2.タスクマネージャが起動したら、キーボードの「↑」「↓」ボタンでjavaを選択します。3.「Alt」ボタンと「E」ボタンを同時に押すと、SikuliXが終了するので、クリックができるようになります。押下してみてください!うまくできた場合は、エディタ部が以下のように表示されているかと思います♪こう書くことで、「sagyo」という変数に「赤枠の作業領域」を代入した。「sagyo」が、ドラッグアンドドロップで選択した画面のことを意味してるって思って下さい!ここまで出来たら、一旦保存しておきましょう。「Ctrl」ボタンと「S」ボタンを同時に押すと保存画面が出るので、好きなところに保存してください。保存すると「~.sikuli」というフォルダが作成されます。次開くときはこのフォルダ自体を開けばOKです~!ボタンを探して、クリックする次に、作業領域(選択した画面)の中でボタンを探します。「何を探すか」を決めます。今回は「まずクリック」って書いてある黄色いボタンですよね。エディタ部の2行目に以下を記載します。クリックして、ボタンをドラッグアンドドロップして選択しましょう。↓こんな感じ!イケてますでしょうか(^^これで、「sagyo」って変数名で作業領域を、targetButton1って変数名でクリックするボタンをプログラムに教えてあげました。この2つがわかれば、クリックするまでにはあとはどうしたら良いですか??「作業領域」から「クリックするボタン」を「探して」「クリックする」だけですよね!プログラムにしたらこうなります。sagyo.find(targetButton1).click()そのままでしょ!(^^sagyo.find(targetButton1)で、「作業領域」から「クリックするボタン」を「探し」ます。探したボタン.click()で、ボタンを「クリック」します。演習ページを表示してから実行ね!黄色いボタンをクリックしてくれるはずです!どんどんクリックする黄色いボタンがクリック出来たかと思います。答えはすぐ書いちゃいますけど、見ずにやってみて!こんな感じになりましたでしょうか~!ところで、先程は黄色いボタンをカメラで撮って、そのボタンの写真を作業領域から探すようにプログラムを組みましたが実は黄色いボタンと完全に一致するボタンを探しているわけではありません。初期設定では70%一致しているボタンを探します。何%一致していたらOKかっていう類似度を設定するには、設定したいボタンの画像をクリックして下さい。(最後の青いボタンをクリックしてみてください)↓のような画面が出ると思うので、マッチングタブをクリックしてみてください。すると、下記のような画面になります。A.には、今の画面が表示されていて、クリックした画像がマッチしている部分が赤く表示されます。B.には、類似度が表示されています。デフォルトだと70%(0.7)です。上記の通り、最後のボタンはどちらのボタンも同じボタンと認識してしまっています。これでは、場合によっては右上のボタンが押されて押されてしまってもおかしくない状態です。そのため、類似度を上げて正しい右下のボタンだけを認識出来るように設定する必要があります。今回の演習では、94%まで上げると、正しいボタンだけを認識するようになりました。設定したらOKを押していただけたら、反映されます。エディタ部にも94って出ます(^ー^♪これで、3つのボタンを自動で押すプログラムができました!繰り返す最後、繰り返してみましょう!さいごのボタンを押したら、また最初から同じ作業を繰り返す方法をお伝えします。ソシャゲの周回や、懸賞サイトのポチポチなど、同じ作業を繰り返す場面も結構ありますよね~。それではやってみましょう。今までの処理を「関数」という単位にまとめて繰り返し処理で呼び出す。関数にまとめるまずは関数という単位にまとめてみましょう。例として、click3Buttonsという関数は下記のように記載します。click3Buttons():」を挿入し、末尾行に「end」を挿入し、各行の先頭に「タブ」を入れたら関数化が完了です!関数の上に(下でもいいですが)click3Buttons()と記載して、関数が呼べて今までと同じ動きをしていることを確認してください。(こんな感じになってるかな)今までの処理をclick3Buttons()という処理の名前にまとめて、その処理を呼び出す形に変えました。やってみてください!繰り返せますよね~!でもこれ、100回繰り返すんだったら100回かくの?とか、無限に繰り返すのできないの?って思いませんか?大丈夫です。True:<タブ>click3Buttons()途中で止める場合は「Shift」ボタンと「Alt」ボタンと「C」ボタンを同時押ししてください。演習は以上で終了です。これだけでも、色々と自動化できそうな気がしませんか?(^^♪こんな感じで、自分が実際にやっている作業を、一個一個プログラムにすれば良いのです!あとはPythonという言語を勉強しながら、いろんなことを自動化していけばプログラミングの勉強にもなるし、生活の効率化も出来るしで一石二鳥です!補足情報あと、いくつか補足情報を記載しますー!スマホの操作の自動化についてと、よく使う構文を記載しておきます。OSを動かすことができます。代表的なエミュレータとして、Noxなどがあります。NoxPlayerNoxPlayerは完全無料なAndoroidエミュレーターです。お好きなスマホゲームやアプリをPCの大画面でプレイでき...これを利用することで、スマホアプリの操作も自動化できたりします(^^♪iPhoneは出来ないかもです(><スマホアプリによっては外部ツールの利用を禁止していたりします。垢BAN等食らっても当ブログでは何も保証できないので十分ご注意下さい。使う構文あまり多くないですが、メモしておきます!コピペで活用していただけたら!処理を止めるミリ秒単位で処理を止めることができます。100ミリ秒処理を止める場合は、↓↓sleep(100)ただ、ほんとに0.1秒か?ってくらい止まる気がします。笑ボタンが存在するかどうかで処理を変えるif文を使います。if文は超一般的な構文なので是非覚えてください。sagyo.exists(targetButton1):<タブ>存在した場合の処理else:<タブ>存在しない場合の処理findで見つからなかった場合に処理を続ける作業領域.find(ボタン)で、ボタンが見つからなかった場合、エラーでプログラムが止まります。止まってほしくない場合は、try-catch構文でエラー(例外)を捕捉して無視します。関数は値を受け取ることや、値を戻すことが出来ます。test(sagyo)で、test関数ではsagyoという何かを受け取ることを定義しています。if文の中で使えています。文科省によって、小学生からプログラミング教育を導入する動きがあります。文部科学省では、2020年度からの小学校プログラミング教育の全面実施に向けて、平成30年3月に「小学校プログラミング教育の手引(第一版)」を作成し、「小学校を中心としたプログラミング教育ポータル」※を通じた実践事例の発信などの支援策を実施してきました。ITに関する基本的な知識・技能を評価するための国家試験です。おける利用状況等を踏まえ、「COBOL」を廃止し、「Python」を追加します。「Python」がどれだけよく使われているかがわかります。対策にもなりますね(白目)。長くなりましたが、以上です!要望があったら第2段とか書きます~(^-^)!最新情報をチェックしよう!フォローするこの記事を書いた人nayoji年収1億でパテック・フィリップの時計片手にランボルギーニに乗るのが夢。社会人4年目で現在年収400万車未所有と程遠い私ですが、10年で達成を目指します。コメントをキャンセルメールアドレスが公開されることはありません。