
UWSCを使って画像リンクをクリックするとき???
先日UWSCをダウンロードし、画像リンクを自動でクリックするスクリプトを作りました。
インターネット上で、商品を選んで「予約購入する」という画像リンクをクリックしたいのですが
Ifb CHKIMG("予約購入する.bmp") = TRUE THEN
BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y)
Endif
のように作っても全く動きません。
UWSC40ファイルの中に予約購入する.bmpを保存してます。
うーん一体どうして?昨日から調べているけど全くわかりません。
回答よろしくお願い致します。
No.6ベストアンサー
- 回答日時:
別の内容になってきてしまうのでこれ以上のことは別スレたててね
ウィンドウタイトルを取得してアクティブかさせてPageDownキーの入力を追加してみました
OPTION EXPLICIT
Dim x_max,y_max,TITLE,STEP_END
Dim i,id
x_max=1000 //検索範囲x方向最大
y_max=1000 //検索範囲y方向最大
TITLE="Firefox" //ウィンドウのタイトル
STEP_END=3 //pagedownを繰り返す数
id=GETID(TITLE)
MSGBOX("画像認識")
FOR i=0 TO STEP_END STEP 1
ifb CHKIMG(".\question.bmp",0,0,0,x_max,y_max,0,IMG_MSK_BGR4)
CTRLWIN(id,ACTIVATE)
BTN(LEFT, CLICK,G_IMG_X, G_IMG_Y)
MSGBOX("画像ありました")
else
MSGBOX("画像なし")
Endif
CTRLWIN(id,ACTIVATE)
KBD(VK_NEXT,CLICK)
NEXT
これで自動予約ができるようになりました☆
ありがとうございます。
な・・のですが、最後に1つだけ質問させてください。
たまにページ2のほうでプログラムが止まる時があります。
ページダウンしなかったり、ページダウンしても画像を見つけてくれなかったり・・。
マウスは動かないので、クリックがずれているとかではなくて
画像を見つけてないんだと思います。1ページ目は問題ありません。
よろしくお願い致します。
OPTION EXPLICIT
Dim x_max,y_max
x_max=1000 //検索範囲x方向最大
y_max=1000 //検索範囲y方向最大
ifb CHKIMG(".\予約.bmp",0,0,0,x_max,y_max,0,IMG_MSK_BGR4)
BTN(LEFT, CLICK,G_IMG_X+86, G_IMG_Y+27)
Endif
ACW(GETID(ページ2)
BTN(LEFT,CLICK,505,245,20)
KBD(VK_NEXT,CLICK,40)
KBD(VK_NEXT,CLICK,40)
sleep(0.1)
ifb CHKIMG(".\OK.bmp",0,0,0,x_max,y_max,0,IMG_MSK_BGR4)
BTN(LEFT, CLICK,G_IMG_X+42, G_IMG_Y+10)
Endif
No.7
- 回答日時:
>OPTION EXPLICIT
>Dim x_max,y_max
これは変数を明示的に表記する方法なだけなんで別に消しても大丈夫ですよ。
>ACW(GETID(ページ2)
これはなにでしょうか・・・
ACWはページの状態(大きさや位置)を変更するものですが・・・
ACW( ID, x, y, [幅, 高さ, ms] )
GETID()の部分はいいのですがその後のパラメータとACWの関数の括弧閉じるがありません。
>ifb CHKIMG(".\予約.bmp",0,0,0,x_max,y_max,0,IMG_MSK_BGR4)
>BTN(LEFT, CLICK,G_IMG_X+86, G_IMG_Y+27)
>Endif
>ACW(GETID(ページ2)
>BTN(LEFT,CLICK,505,245,20)
ページ1から2に移るのかな?それだと間にSleepで時間を入れておかないとブラウザの処理がおいつかないことがあります
最後まで回答ありがとうございます。
ページ2は晒すと若干まずいので、変えました。
SLEEPですねー。ありがとうございます。
もし答えられたら答えていただきいのですが
3回に1回は再生しても全く動かないとき、動きだすのが遅いときがあります。
それはなぜなのでしょうか??
本当に最後にすみませんがよろしくお願い致します。
No.5
- 回答日時:
画像の位置はスクリプトの場所とおなじで画像の色識別範囲に幅をもたせてみました。
画像検索範囲は自分で変えてください。
jpegしかアップできないようなので画像変換かあたらしく画像用意してください・・・
OPTION EXPLICIT
Dim x_max,y_max
x_max=1000 //検索範囲x方向最大
y_max=1000 //検索範囲y方向最大
MSGBOX("画像認識")
ifb CHKIMG(".\question.bmp",0,0,0,x_max,y_max,0,IMG_MSK_BGR4)
BTN(LEFT, CLICK,G_IMG_X, G_IMG_Y)
MSGBOX("画像ありました")
else
MSGBOX("画像なし")
Endif

わかりましたっ!!
オンマウスのときに微妙に色が白く変わるせいで、その白く変わった画像を保存していたせいでした。
おかげさまで画像認識できました・・!!
ありがとうございます☆
ちなみにたとえばボタンがしたのほうにあってスクロールしないと見つからない場合
そのページ内を探すときはどうしたら良いんですかね??
No.4
- 回答日時:
#2です
あと画像に余白部分とかないですよね?
余白部分のところでパターンが一致しないのでみつけれてない可能性もあります
そのような場合は、画像を加工する必要があります。
具体的には単に余分な部分をぬいた画像をトリミングしてくりぬいちゃえばいいだけです。
以下余談
私の場合はネットのログイン操作を画像認識ではなく、IE制御で行っております。
余白とかでウーーーーンと考えたところオンマウスのせいでは???
と思い別の画像で試してみたらできましたー。大変おさわがしました。
IE制御ググってみたけどかなり使えそうですね!
フリーソフトなのでしょうか?できれば使ってみたいと思います☆

No.3
- 回答日時:
画像の置き場所ですが、chkimgで指定する時にパスを一切付けなかったら、それはスクリプトと同じフォルダにあるという意味になります。
少なくとも、私のところではそれで動いています。今の話からでは、スクリプトがどこにあるかが解らないため、exeと同じ場所で正解かどうかは不明です。あと、どこでうまくいっていないのかを調べる必要もあるでしょう。画像を見つけてなければどうしようもないので、ifbの中にmsgbox("あった")などというテストメッセージを入れておき、見つけたかどうかを調べます(この方法はデバッグ時に非常に役に立ちます)。また、画像で処理する場合は1ドットでも違っていたら、またパレットの値が1でも違っていたら、もう別物と言うことでchkimgでは見つけられませんので、それも注意が必要です。パレットに関しては、chkimgの引数で幅を持たせられるため、それで回避できますが。
画像は見つけているけどうまく動かないのなら、No2さんの言う「もう少し画像の真ん中よりをクリックする」ようにしないとダメでしょう。「予約購入する.bmp」の幅と高さはあらかじめ調べておけるわけですから、G_IMG_X,G_IMG_Yに「予約購入する.bmp」の幅・高さを半分にしたものを足せば、ど真ん中をクリックできるので、より確実に動きます。
今回は多分大丈夫だろうと思いますが、chkimgはあまり小さい画像は見つけられないようです。縦あるいは横が16ドット以上ない画像は使えないと考えておいた方が確実です。
この回答への補足
そもそもCHECK関数でその画像がきちんと表示されているのかな?と思って
ifb (CHKIMG(画像名, 0, 左上X, 左上Y, 右下X, 右下Y)
MSGBOX("画像ありました")
MSGBOX("画像の左上位置は(" + G_IMG_X + ", " + G_IMG_Y + ")です")
endif
これを使ったのですが、画像名のところに予約.bmpを入れてもおかしな変数ですという表示がでてしまいます。もー泣きたいですね。
このOKWAVEの画面ですと質問するというボタンをクリックするというスクリプトを作りたいのに・・。
わからない。
ありがとうございます。
まだできません・・・。画像は172×54なので87、27をそれぞれたしました。
画像の保存手順ですが、ネットのページ上で右クリック、画像を保存で合ってますよね?
それをBMP形式に変換して同じフォルダ内に保存しているのですが・・・。
ウーンメッセージが表示されません。
かといって予約.bmpが見つかりませんとの表示もでません。一体なぜでしょうか?
上司からすぐにやるようにと言われてまして非常に困ってます><
ifb CHKIMG(".\予約.bmp",-1)
x=G_IMG_X // 画像の座標をxへ代入
y=G_IMG_Y // 画像の座標をyへ代入
MSGBOX("ありました")
BTN(LEFT, CLICK, x+87, y+27)
Endif
No.2
- 回答日時:
#1さん時間がなくても実行できますよ
optionの時間は実行されるまでの時間なのでクリックしている時間ではありません。
何も指定しなかった場合、すぐさま実行されます
質問に対しての回答ですが、
画像ファイルはどこに保存されているでしょうか?
uwscの実行ファイルと同じ場所でしょうか?
たしか使った記憶では
実行ファイルからの相対位置を指定しなければならなかった気がします。
(UWSCのスクリプトファイルからの位置ではない)
それと
>BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y)
のままでは画像の端っこをクリックするためクリック判定がミスする可能性もあります
CLICK,G_IMG_X+5,G_IMG_Y+5などすこし画像の真ん中よりに設定するほうがいいと思います
画像は同じフォルダに保存しております。
再生を押しても全く動く気配がなく、どうしてできないのかぜんぜんわかりません・・。
たとえばインターネット上のロゴでも同じですよね?
ロゴの画像をBMP保存して、以下のプログラムを組むと・・。
だというのにぜんぜんワカラナイ。最初はクリックで座標を覚えさせてうまくいったのですが
画面の大きさがそのときどきで変わるため、画像リンクをクリックするようにしました。
TABキーでクリックもできるのですが、微妙なズレがあり断念・・。
もう一度よろしくお願い致します。
ifb CHKIMG(".\予約.bmp",-1)
x=G_IMG_X // 画像の座標をxへ代入
y=G_IMG_Y // 画像の座標をyへ代入
BTN(LEFT, CLICK, x+5, y+5, 250)
Endif
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) uwscとWinShotを使いスクリーンショットを撮る 1 2022/06/30 21:15
- その他(プログラミング・Web制作) uwscのCHKING関数の画像の認識がうまくいかない。 1 2022/06/18 20:55
- その他(プログラミング・Web制作) uwscについて質問です。 1 2022/05/28 13:46
- その他(プログラミング・Web制作) uwscのスクリプトの書き方について質問です。 1 2022/06/17 18:35
- その他(プログラミング・Web制作) uwscについて質問です。 1 2022/06/18 18:31
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- その他(クラウドサービス・オンラインストレージ) firestorage_androidスマホでダウンロードできない 1 2022/10/25 08:18
- YouTube ユーチューブへの動画投稿にサムネイルを付ける方法は? 1 2022/07/21 23:45
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) エクセルで複数設定したハイパーリンク先を、どれを選んでも画面の左上に来るようにしたいのですが・・・ 3 2022/04/07 16:15
このQ&Aを見た人はこんなQ&Aも見ています
-
最速怪談選手権
できるだけ短い文章で怖がらせてください。
-
uwscの画像認識に失敗します。
その他(プログラミング・Web制作)
-
uwcs のマクロで画像認識をしてその画像があればクリックというマクロを作成したのですが、クリック後
その他(開発・運用・管理)
-
UWSCに制限時間を付けたいです
その他(プログラミング・Web制作)
-
-
4
UWSCで特定の文字をクリックする方法
その他(プログラミング・Web制作)
-
5
UWSC「画像が無い場合」
その他(プログラミング・Web制作)
-
6
UWSCについて
その他(プログラミング・Web制作)
-
7
uwscについて、同一の画像(仮にA)が画面に3~複数枚出現するので、初めにクリックした1枚から距離
C言語・C++・C#
-
8
【UWSC】WEBページ中の特定文字リンクをクリックする動作を自動化したい
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画像の輝度値のプログラムにつ...
-
Leafletで画像をon、offさせる...
-
EXCEL VBA 複数のImageコントロ...
-
背景画像の繰り返しについて
-
画像が分割されて切り替わる、...
-
VBAのユーザーフォームのイメー...
-
「using Windows」でエラーが出る
-
jqueryスライダーを2段でスライ...
-
PowerPoint VBA で画像の鮮明度...
-
uwcs のマクロで画像認識をして...
-
Jimdoで画像をポップアップ表示...
-
ローカルで動くページがサーバ...
-
スマホでサイトの画像を長押し→...
-
uwscのスクリプトの書き方につ...
-
画像のビット数を変更する方法
-
C# Picturebox 縮小・拡大時の...
-
VBA シート毎に画像挿入
-
画像のピクセルデータの取得
-
uwscの画像認識に失敗します。
-
画像処理したBitmapをピクチャ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel ユーザーフォームで表示...
-
背景画像の繰り返しについて
-
uwcs のマクロで画像認識をして...
-
UWSC 画像判定と条件分岐について
-
【EXCEL VBA】ダブルクリックで...
-
UWSCの画像認識と条件分岐につ...
-
jqueryスライダーを2段でスライ...
-
画像のビット数を変更する方法
-
vb.net 画像の透過について
-
「using Windows」でエラーが出る
-
UWSC 画像認識で条件分岐
-
gif 画像上の ボタンに リン...
-
UWCSでのランダムクリック入力...
-
画像処理したBitmapをピクチャ...
-
EXCEL VBA 複数のImageコントロ...
-
UWSCでループ処理がうまくいき...
-
VBAのユーザーフォームのイメー...
-
UWSC「画像が無い場合」
-
画像のピクセルデータの取得
-
UWSCの色判定
おすすめ情報