|
画面上にある「ok」というボタンを押し 画面上からなくなったらPAGEDOWNキーを押す というものを作っています 「ok」を一度押すとPAGEDOWNキーが押されてしまうのですが どこを改良すれば希望の動作をするのでしょうか?
while True
ifb CHKIMG("ok.bmp",0)
x=G_IMG_X // 画像の座標をxへ代入 y=G_IMG_Y // 画像の座標をyへ代入
BTN(LEFT, CLICK, x+10, y+10, 80)
sleep(3)
endif
KBD(VK_NEXT,CLICK,10) sleep(5)
wend
|
No.5325 2018/05/05(Sat) 00:11:00
|
☆ Re: 画面から OK をすべて探して次のページに行く / koi |
|
|
>「ok」を一度押すとPAGEDOWNキーが押されてしまう
提示されているソース見る限り上記動きにもならないはずで
繰り返し PAGEダウンが押されている中で ビットマップに一致する画像が見つかったとき 画像をクリックしてるはず
とりあえず書いてあるようにするなら
> sleep(3) > endif > KBD(VK_NEXT,CLICK,10) > sleep(5)
の部分を
sleep(3) else KBD(VK_NEXT,CLICK,10) sleep(5) endif
※ Sleep(5) と endif は順番逆でもOK というか逆にしておいたほうが良い気はする (繰り返しチェックの頻度次第)
|
No.5326 2018/05/05(Sat) 11:13:53
|
|
☆ Re: 画面から OK をすべて探して次のページに行く / 名無し |
|
|
別解としてはifbじゃなくてそのままwhileにしてやればいい そうすれば表示範囲に「OK」がある限りループする構造になる
|
No.5328 2018/05/05(Sat) 15:32:18
|
|
☆ Re: 画面から OK をすべて探して次のページに行く / 森 |
|
|
たぶん、これでいけると思います。 無限ループから抜ける条件を追加して使ってください。
while True ifb CHKIMG("ok.bmp",0) BTN(LEFT, CLICK, G_IMG_X+10, G_IMG_Y+10, 80) sleep(3) else KBD(VK_NEXT,CLICK,10) sleep(5) endif wend
|
No.5330 2018/05/05(Sat) 17:01:05
|
|
☆ Re: 画面から OK をすべて探して次のページに行く / 初心者 |
|
|
多くの方からコメントいただきありがとうございます 森さんのを使ってみて問題はなかったのですが ページの最後まで行ったらページを閉じるというのを追加したら エラーが出てしまいました どこが問題なのでしょうか?
while True
ifb CHKIMG("ok.bmp",0) BTN(LEFT, CLICK, G_IMG_X+10, G_IMG_Y+10, 80) sleep(3)
else
KBD(VK_NEXT,CLICK,10) sleep(5)
else
ifb CHKIMG("ページの最後.bmp",0) KBD(VK_CTRL, DOWN) KBD(VK_TAB, CLICK, 100) KBD(VK_CTRL, UP, 100) sleep(5)
endif
wend
|
No.5333 2018/05/11(Fri) 01:22:50
|
|
☆ Re: 画面から OK をすべて探して次のページに行く / koi |
|
|
>sleep(5) >else >ifb CHKIMG("ページの最後.bmp",0)
上の else を endif に直す
|
No.5334 2018/05/11(Fri) 04:46:55
|
|
☆ Re: 画面から OK をすべて探して次のページに行く / 初心者 |
|
|
多くの方々、ありがとうございました 参考にさせていただきだいぶうまくいきました
|
No.5340 2018/05/16(Wed) 11:11:20
|
|