UWSCのスクリプトについて

このQ&Aのポイント
  • UWSCを使って退屈な作業を自動化する方法を学習しています。
  • 画像をファイルに格納して作業を行うことができるようになりました。
  • オーダーフォームの作業を書くことができず、この部分での教授をお願いしたいです。
回答を見る
  • ベストアンサー

UWSCのスクリプトについて

日々のルーチンワークで退屈な作業をPC様にやっていただこうとUWSCの学習をしています。 以前は記録して使用したのですが不定期にマウス座標が変わるようになったため.UWSを書いてみてます。ど素人ですがやっと画像をファイルに格納して作業ができるまでになりました。 使用環境はwin7です。 質問内容ですが手間が多いのと説明がへたなのでプログラムより質問内容が理解できないほうが心配です。出来るだけ分っていただけるように頑張りますのでご教授お願いします。 画像A 画像B 画像C 以上がWEBブラウザ上に表示されたときに以下の作業をします。 オーダーフォームの利用規約同意[ボタン]、確認画像[ボタン]、購入画像[ボタン]を押下する。 どれが表示されてもオーダーフォームの作業が発生します。 ほかの質問で以下のような回答があったので参考にしたのですが繰り返し探してはくれるのですが オーダーフォームの作業を書くことができません。。 ≪転記≫ WHILE (TRUE) //WENDまで無限ループ IFB (CHKIMG("A.bmp")=TRUE) THEN CHKIMG("1.bmp") //「1」画像の座標を調べる BTN(LEFT, G_IMG_X, G_IMG_Y) ELSE IFB (CHKIMG("B.bmp")=TRUE) THEN CHKIMG("2.bmp") //「2」画像の座標を調べる BTN(LEFT, G_IMG_X, G_IMG_Y) ELSE ・・・以下略・・・ ENDIF WEND 自分でも頑張ってみますがご教授頂けると幸いです。 よろしくおねがいいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kamikami30
  • ベストアンサー率24% (812/3335)
回答No.1

UWSCなら14日間pro体験版が無料で使えるので、IEの操作ならpro体験版にあるRecIE.exeを使うと保存出来ます。 値段も高くはないので、買っても良いと思います。 他にはIEのCOMの操作等を使えば行いたい作業を確実に行えると思います。 上記の内容とは根本的にアプローチの方法が違いますが、質問のスクリプトについて回答すると、 無限に可能なかぎり速く連続してクリックしたい画面表示の場所をクリックする。 と、なっているので、 実際にクリックしてからブラウザが次のページに遷移するまでボタン連打することになると思います。 私なら、同じアプローチ方法だとしてもクリックの直後にページ遷移が完了するまでの判定をして待つ処理を追加します。

関連するQ&A

  • UWSCのスクリプトについて

    画像Dを認識したら画面上に画像Bがあっても 処理Bを実行しない為にはどうしたら良いでしょうか。 -------- while True BTN(LEFT,click,150,10,110)   //処理A Sleep(2) ifb CHKIMG("A.bmp")    x=G_IMG_X            y=G_IMG_Y BTN(left,click,x,y,110) Sleep(1.5) endif Ifb ChkImg("B.bmp")       //処理B BTN(LEFT,click,1120,90,110) Sleep(1) KBD(VK_return,DOWN,30) endif ifb CHKIMG("C.bmp")      //処理C x=G_IMG_X            y=G_IMG_Y BTN(left,click,x,y,110) Sleep(1.5) wend --------

  • UWSCについて

    画像がAになったらその画像をクリックしてBに変わったらまたクリックするというのを作りたいのですがどうにもA画像の時にクリックが連打になってしまします どこが悪いのでしょうか? While True Ifb ChkImg("A.bmp",0) BTN(LEFT,CLICK,G_IMG_X+5,G_IMG_Y+5,80) ChkImg("B.bmp",0) BTN(LEFT,CLICK,G_IMG_X+5,G_IMG_Y+5,80) ENDIF WEND

  • UWSCの画像認識について

    質問させていただきます ifb CHKIMG("画像.bmp",) BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) endif これを複数の画像でやりたいときは ifb CHKIMG("画像.bmp",) BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) endif ifb CHKIMG("画像.bmp",) BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) endif のようにしないとだめなのでしょうか? それとも ifb CHKIMG("画像.bmp",) CHKIMG("画像.bmp",) CHKIMG("画像.bmp",) CHKIMG("画像.bmp",) BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) endif こんな感じにまとめる事はできるのでしょうか? 例として教えてもらえると助かります。 よろしくお願いします

  • uwscについて

    画像認識で質問があります。 画像Aがあった場合画像Aをクリックするのは出来るのですが 画像Aがあった場合画像Bをクリックする場合どのようにすればいいのでしょうか? IFB (CHKIMG("A.bmp")=TRUE) THEN SLEEP(0.3) //B、C出現までの間を調整 IFB (CHKIMG("B.bmp")=TRUE) THEN BTN(LEFT, CLICK, G_IMG_X, G_IMG_y) ELSEIF (CHKIMG("C.bmp")=TRUE) THEN BTN(LEFT, CLICK, G_IMG_X, G_IMG_y) ENDIF しらべてこのとおりやってみたら 最初のIFBに対してENDIFがないと言われてうまくいきません ちょっと調べたのですが分からなかったので助けてください

  • UWSCのプログラミングついて教えてください。

    UWSCについてです。 私は、UWSCをまだ1週間ほどしか触っていない超初心者です。 下記のようなプログラミングを組みたいと思っているので、プログラミング初挑戦なので右も左も良く分かっていません。 UWSCのプログラミングに詳しい方助けてください。 私の組みたいプログラミングは ("A.BMP",0)を無制限ループしつつ、("B.BMP",0)は2時間おきにループしつつ、("C.BMP",0)を30分間に30回実行する 場合のプログラミングです。【3つ同時進行です。】 宜しくお願いします。 while True ifb CHKIMG("A.BMP",0) x=G_IMG_X // 画像の座標をxへ代入 y=G_IMG_Y // 画像の座標をyへ代入 BTN(LEFT, CLICK, x, y, 80) endif ifb CHKIMG("B.BMP",0) x=G_IMG_X // 画像の座標をxへ代入 y=G_IMG_Y // 画像の座標をyへ代入 BTN(LEFT, CLICK, x, y, 80) endif ifb CHKIMG("C.BMP",0) x=G_IMG_X // 画像の座標をxへ代入 y=G_IMG_Y // 画像の座標をyへ代入 BTN(LEFT, CLICK, x, y, 80) endif wend

  • UWSCのスクリプト作成について

    UWSC初心者です。 画像を判別して、見つけたらクリックするものを作りました。 while True   if GETKEYSTATE(VK_ESC) then exit   ifb CHKIMG("目標.bmp")          BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)  endif sleep(2)  wend 目的は動きのある目標を認識してクリックしたいのですが、作り方が分からないので、とりあえず目標を画像判定で少しでもクリックできればと作りました。 でもやはり画像判定の場合は目標.bmpと一致でなければならないので、たまにしかクリックしてくれません。 なので、目標をいろいろな角度から画像保存し、数で攻めたいと思います。 目標.bmp→クリック ↓なし 目標1.bmp→クリック ↓なし 目標2.bmp→クリック というものを作りたいのですが、混乱してきて分からないので教えてください。

  • UWSCで指定箇所のみループ

    UWSCで指定した箇所へ戻ってループさせたいのですが、やり方がわかりません。 上手く説明ができないのですが… 例えば… while True Z地点 //Aの画像があればクリックしてX地点へ ifb CHKIMG("画像A") x=G_IMG_X y=G_IMG_Y BTN(LEFT, CLICK, x, y, 300) endif X地点 //Bの画像があればクリック、無ければZ地点へ戻る ifb CHKIMG("画像B") x=G_IMG_X y=G_IMG_Y BTN(LEFT, CLICK, x, y, 300) endif wend という感じで…、状況によってプログラムの指定した行へ移動させたいのですが どうすれば良いのでしょうか? 上手く説明できなくてすみませんが、教えてください。 よろしくお願いします。

  • UWSCでWEBをログインしてアウトするスプリクト

    UWSCにてWEBをログインしてボタンを押しログアウトするだけのスプリクトを作っています。 しかし、うまく回ってくれません。 切り分けて画像単体でスプリクトを組んだところ画像に問題はありませんでした。 ////////////////////////////////↓ここから Dim num //文字チェッカー Dim gazou //画像回し Dim mugen //画像ちぇっかー Dim bmp //画像用 num = 1 mugen = 1 gazou = 1 //画像判定 While gazou < 4 //全部回す SELECT gazou   CASE 1 bmp = "ログイン.bmp"   CASE 2 bmp = "ボタン.bmp"   CASE 3 bmp = "ログアウト.bmp" SELEND //判定終了 //画像が出るまで繰り返す While mugen < 2 //あるまで繰り返す Ifb chkimg(bmp) = true then // 画像判定 // ここから あった時 透過色 = 0 for i=0 to GETDIR(GET_CUR_DIR,bmp)-1   ifB CHKIMG(GETDIR_FILES[i] , 透過色 , 0 , 0 , 1280 , 800 ) > 0 Btn(Left, Click, G_IMG_X+5, G_IMG_Y+5)   mugen = mugen + 5 gazou = gazou + 1   Endif next // ここまで あった時 // ここから なかった時 else  sleep(0.2) // 待ち時間 // ここまで なかった時 Endif // 画像判定 終了 wend // あるまで繰り返す mugen = 1 // リセット ////////////////////////////////////////////////////////////////////////////////////////////// wend //画像(gazou)のwend

  • UWSCで任意ボタンをおした時 複数条件分岐

    UWSCでのプログラムの書き方についての質問です。 ある任意のボタンをおした時に指定した画像があるか確かめてあれば 指定した画像をクリックさせたい場合の方法を教えていただきたいです。 EScボタンをを押すまで無限ループ。 条件が複数あるのでIFを使いたいとかんがえています 任意のボタンを押したことで、指定した画像と一致するものがあるか確かめ、 一致した場合、指定した画像をクリックする。 それを沢山作りたい。 追加していきたい。 いくつまでの条件分岐ができるのかわからないし、 どのコマンドを使えば良いのかもわからず1年近く四苦八苦していました。 一般的条件分岐だとIF関数ですが、 もっと楽な方法があれば お手数ではございますが 解説付きでご教授のほどよろしくお願いします。 --------------------- WHILE !GETKEYSTATE(VK_ESC) //ESCを押すまでループ   if GETKEYSTATE(VK_y) then //yが押されたら BTN(LEFT,CLICK,g_img_x,g_img_y) //画像1をクリック    elseif GETKEYSTATE(VK_u) then //uが押されたら chkimg("画像2.bmp")=true BTN(LEFT,CLICK,g_img_x,g_img_y) //画像2をクリック elseif GETKEYSTATE(VK_t) then //tが押されたら chkimg("画像3.bmp")=true BTN(LEFT,CLICK,g_img_x,g_img_y) //画像3をクリック elseif GETKEYSTATE(VK_a) then //aが押されたら chkimg("画像4.bmp")=true BTN(LEFT,CLICK,g_img_x,g_img_y) //画像4をクリック elseif GETKEYSTATE(VK_w) then //wが押されたら chkimg("画像5.bmp")=true BTN(LEFT,CLICK,g_img_x,g_img_y) //画像5をクリック endif wend --------------------- 上記が 自分で書いたプログラムなのですが、 間違いだらけと承知の上 恥を忍んで重ね重ねご教授のほど よろしくお願い申し上げます

  • UWSCの画像認識について

    プログラム初心者ですがUWSCでプログラムを作っています 画像認識において認識するべき画像が複数種類あるときのパターンができなくて困っています ifb CHKIMG("青空") x=G_IMG_X // 画像の座標をxへ代入 y=G_IMG_Y // 画像の座標をyへ代入 BTN(LEFT,CLICK,x,y,100) SLEEP(0.5) else Endif のように、単独の画像を認識し、その画像をクリックさせることはできるのですが 「青空」もしくは「夕空」もしくは「夜空」が出た時にその画像をクリックする のような命令をかくことができません ifb CHKIMG("青空" or "夕空" or"夜空") のような形でかければいいのですが、もちろんこれでは動きませんでした どうすればこれを実行できるようになるのか教えてくださいm(__)m

専門家に質問してみよう