UWSC 掲 示 板
投稿時に「証明書が不正です」と出る場合には、JavaScriptをオンにしてください
動作不具合での質問の場合には環境(OS,IEのバージョン等)の表記もしてください
タイトルは質問内容を表したものにしてください
ネットゲーム関係の質問はご遠慮ください

5.2.2にしたら処理が遅くなった件 / ゆきちさん
掲題のとおり、手製のスクリプトをuwscのver5.2.2にバージョンアップして、実行したところ、処理が遅くなった。

処理速度の比較は5.2.1としています。

実行環境は、win7 home 32bit

chkimgかsleepの処理箇所が遅くなっている気がします。


尚、win8、win10の64bitについては、処理速度が速くなった。

No.2529 2016/06/22(Wed) 01:38:04
デバック用エラー出力の方法について / skyhand
(意図しない)無限ループに陥る可能性がある箇所では、
一定回数でループを抜けてリセットするようにしているのですが、
よく無限ループが発生する場所を特定して改善したいと思っています

そういった場合、一定回数ループした箇所で
「hogehoge.uws内のn行目で無限ループ」
と言った内容をテキストファイルなりに出力して後で確認すればいいのですが
ループが発生するすべての場所で「hogehoge」と「n」を手書きするのは手間がかかるし
ソースをいじると行数も変わってしまうので
動的にそういった情報を取得する方法や関数の書き方はないでしょうか?

構文エラーの際は、どのファイルの何行目でのエラーか表示がありますが
それを自力かつある程度自動的に出力するようなイメージです

上記は、自分が今やろうとしている方法ですが
他のやり方でも目的が達成できればかまいません
アドバイスよろしくお願いします

No.2522 2016/06/21(Tue) 06:45:49

Re: デバック用エラー出力の方法について / しゅん
// エラーを発生させる手もあります
// ちょっとダサいですが、以下のような方法ではどうでしょうか?

DIM i
i = 0
WHILE TRUE
  IF i > 10000 THEN
    TRY
      i = "無限ループ " // エラーを起こすための準備
      i = i / 1 // エラー発生!
    EXCEPT
      IFB MSGBOX(i + GET_UWSC_NAME + "<#CR>" + TRY_ERRLINE +"<#CR><#CR>もう一回?", BTN_YES OR BTN_NO) = BTN_NO THEN
        BREAK
      ELSE
        i = 0
      ENDIF
    ENDTRY
  ENDIF
  i = i + 1
WEND

// エラー後とめてよいなら、TRY〜ENDTRYでくくる必要はないですが

// 行数でなく、ポイントに番号を振っている、とか
// こういった処理、という名前をつける方がシンプルでよいと思いますけど

No.2525 2016/06/21(Tue) 12:10:57

Re: デバック用エラー出力の方法について / skyhand
返信ありがとうございます
なるほど、わざとエラーを起してTRY〜ENDTRYとGET_UWSC_NAME、TRY_ERRLINEというのは
気が付きませんでした
ただ、ご自身でおっしゃっているようにちょっと無理やり感があって
一般的な処理ではないようですね

一般的にどういう手法を用いるのか分からず
なんとなく行数出力にこだわって考えていたのですが
ループに関わる画像認識ファイル名や変数を一旦保持しておいて
ハマった場合に出力する等、デバック出力しやすいように
予め他の部分で準備しておく方が良さそうな気がしてきました
小手先で横着せずに、もう一度全体を見直してみます

ありがとうございました

No.2528 2016/06/21(Tue) 17:46:13
UWSCのスケジュール設定制御 / しゅん
UWSCのスケジュール設定を制御することは可能でしょうか?

UWSCのスケジュール設定のタイマー設定で複数のスプリクトをインターバル設定しています。
そのインターバル設定を一定回数経過したら設定しないに変更したいんですが、こういった制御
自体可能なのかどなたかご存知の方教えてください。

No.2524 2016/06/21(Tue) 11:33:02

Re: UWSCのスケジュール設定制御 / しゅん
タイマーの開始時間・終了時間が決まっているなら、「式で設定」でできます。
また、スクリプトを呼び出すスクリプトを書いて、回数を制御しても良いかと思います。

No.2527 2016/06/21(Tue) 12:59:39
twitterのつぶやきがうまくできない / yoshi
csvにリスト化してある文章と動画ファイルを適宜ツイートしたいと思っています。
twitterにおいて、ツイートボタンを押して記事を書く部分の書き込みがうまくできません。

・RecIEで行うと「IESetData(IE,"aaaaaaaa","status") // TEXTAREA」と出ますが書き込みされませんでした。

・高レベル記憶でも、書き込み部分のスクリプト表示がされませんでした。

・最終のツイート投稿ボタンは低レベル記憶にて座標で何とか投稿できるようにしました


色々と試したのですがうまくいきませんでした。

今回は文章&動画をbot化にしたくて色々試していました。

アドバイスの程お願いします

No.2514 2016/06/20(Mon) 00:58:44

Re: twitterのつぶやきがうまくできない / stuncloud
手入力する部分はcontenteditableなdiv要素、name="status"なtextareaは非表示
なので目に見えないだけで書き込まれている可能性はあります
実際に送信されるデータがそのtextareaのものなら、そのまま送信すればうまくいくんじゃないですかね?
そのへんはF12の開発者ツールででも確認しながら試してみてください

ちなみにbotを作るならブラウザ操作よりもAPIを使うか、bot作れるサービス使うかのほうが良いとは思います

No.2515 2016/06/20(Mon) 09:59:49

Re: twitterのつぶやきがうまくできない / yoshi
stuncloudさん、ご教授いただきましてあれいがとうございます。

F12の開発者ツール初めて知りました。
ツイート記入個所に「ここが入力すると変わる」と入力したら、F12の開発者ツールで該当箇所らしきところが下記の様に表示されました

*****************
<div class="tweet-box rich-editor" id="tweet-box-global" role="textbox" aria-expanded="false" aria-labelledby="tweet-box-global-label" aria-owns="typeahead-dropdown-4" dir="ltr" contenteditable="true" spellcheck="true" aria-autocomplete="list" aria-multiline="true" name="tweet" data-placeholder-poll-composer-on="質問する" data-placeholder-default="いまどうしてる?">

<p>ここが入力すると変わる</p>
*****************

「IESetData(IE,"aaaaaaaa","status") // TEXTAREA」で送信してもやはりだめでした。

botのAPIを使った無料サービス等は利用していますが、動画をその場でアップしてツイート出来るものが見つからず、今回に至っりました。

申し少し色々と試してみますが、もし上記F12の開発者ツールでの該当箇所の表示をご覧になり打開策がありましたら、再度ご教授いただけると幸いです。

No.2519 2016/06/20(Mon) 16:27:26

Re: twitterのつぶやきがうまくできない / stuncloud
正直twitterのような複雑なサイトはあまり自動操作おすすめしないんですよね
ツイート窓を開いて
ie.document.getElementById("tweet-box-global").innerText = "aaaaaaaa"
とすればまぁ入力は出来るんですけど、こういったことがF12ツールから読み取れないレベルですとこの手のサイト操作は厳しいと思います

ブラウザではなく動画アップロードに対応していて操作しやすそうなTwitterクライアントアプリを使う方が良いかもしれませんね
sendstrやclkitemだけで済みますから

No.2520 2016/06/20(Mon) 17:45:34

Re: twitterのつぶやきがうまくできない / yoshi
stuncloudさん、お時間をいただいての回答誠にありがとうございました。

いつもはRecIEや高レベル記憶を色々と混ぜ合わせて、作っているのですがtwitterはうまくいかないことだらけでした。

stuncloudさんのような知識をお持ちの方でも敬遠する複雑なサイトなんですね。

ie.document.getElementById("tweet-box-global").innerText = "aaaaaaaa"でいけました。

ただ、サイト側の変更があった場合に対応ができなそうなので、ご指摘の通りアプリも並行して探してみます。

誠にありがとうございました

No.2521 2016/06/20(Mon) 18:51:05
WHILEとTRUEの間の式の書き方をご教示下さい / みけくん
Internet Explorerで、開いたサイトの[BODY]を[msg」に代入して、テキスト[xxxx]が
なかったらサイトの再描画をさせたいのですが、WHILEとTRUEの間の式の書き方がわかりません。
下記のスクリプトの2行目をどのように書けばいいのか、まるで初心者の私をお助け下さい。

msg=IEGETSRC(IE, "BODY")
WHILE (POS("xxxx", msg)>0) TRUE
KBD(VK_F5, CLICK)
msg=IEGETSRC(IE, "BODY")
WEND

宜しくお願い致します。

No.2513 2016/06/19(Sun) 22:56:13

Re: WHILEとTRUEの間の式の書き方をご教示下さい / stuncloud
>WHILEとTRUEの間の式の書き方
そもそもWHILEとTRUEの「間に」式を書くという認識が誤りです
比較演算子の右辺または左辺にTRUEと書くということならありえますが
>WHILE (POS("xxxx", msg)>0) TRUE
のように式をふたつ並べるのはダメ

見つからない場合はループし続けるなら
WHILE (POS("xxxx", msg) = 0) = TRUE
となります
上からの流れでTRUEを右辺に書いてみましたが、実はわざわざこのように書く必要もありません
左辺の式がbool値を返すので
WHILE POS("xxxx", msg) = 0
と書くだけで良いです

No.2516 2016/06/20(Mon) 10:18:24

Re: WHILEとTRUEの間の式の書き方をご教示下さい / みけくん
stuncloud さま

どうも有り難うございます。
ずっと悩んでいたことが解決しました。
おかげさまで助かりました。

No.2518 2016/06/20(Mon) 16:05:47
ランチメニュを表示させたままに / del
ランチメニュを表示させたままにして1クリックで動作させることは
出来ないのでしょうか?

No.2511 2016/06/18(Sat) 12:30:33

Re: ランチメニュを表示させたままに / ある
ランチメニュとは違う形になってしまいますが、
while trueとfukidasiで常にメニュー表示をしておきつつ、
if getkeystate(vk_f1) //f1で実行
とやればかなり近い挙動になるのではないでしょうか

No.2512 2016/06/19(Sun) 02:34:05
DEF_DLLの型について / しゅん
DEF_DLLを使ったスクリプトをさらしていたところ、期待動作しない、という指摘を受けました。
http://d.hatena.ne.jp/junjun777/20140109
LONGLONG型が、31bitを超える負数を受け付けないようです。


これに関して、umiumiさん・識者の方に質問があります。

DEF_DLLの型は以下の解釈であっていますでしょうか?
int/long/bool : 32bit signed(boolは0/1)
uint/hwnd/dword : 32bit unsigned
string/pchar : pointer(32bit)、先は8bit signed配列(ANSIコード体系)
wstring/pwchar : pointer(32bit)、先は16bit signed配列(UTF-16体系)
float : float
double : double
word : 16bit unsigned
byte : 8bit unsigned
char/boolean : 8bit signed
wchar : 16bit signed
longlong : 64bit signed(ただし、負数は31bitまで)
extended : ???
safearray : COM safearray


なお、longlongの負数の制約が63bitまで拡張されると嬉しいです。

No.2503 2016/06/16(Thu) 01:14:52

Re: DEF_DLLの型について / umiumi
確認しました。
LONGLONG型が 32bit以上の値が扱えない
修正します。

>DEF_DLLの型は以下の解釈であっていますでしょうか?
はい

No.2507 2016/06/16(Thu) 23:46:12

Re: DEF_DLLの型について / しゅん
回答、ありがとうございます。

お、正数もだったのでしょうか。
すみません、確認不足で。

extendedは、、、ま、いいか。

No.2508 2016/06/17(Fri) 09:29:58
ラジオボタンについて / カフェオレ
初心者です。

下記の設定でラジオボタンのクリックを行いたいのですが、上手くいきません。


ソース
<input type="radio" id="Q1_1" class="mdl-radio__button" name="Q1" value="1">


IESETDATA(IE, TRUE,"Q1", "1")

ご指導、よろしくお願いします。

No.2480 2016/06/10(Fri) 21:53:35

Re: ラジオボタンについて / ある
クリック処理でIEsetdataを使ったことがほとんどなく、解答は示せないのですが
Pro版(体験版)をDLしてからのRecIEで指定URLを入れて希望の処理を行えば
だいたい希望の動作をコード化してくれるのでお勧めです。
機能として知っておくと色々と助けてもらえてめちゃ便利です。

No.2483 2016/06/11(Sat) 07:45:29

Re: ラジオボタンについて / カフェオレ
あるさん、ありがとうございました。
提示されたご案内で試してみます。

よろしければ、IEsetdata以外で対応できるものがあれば、教えていただけませんか?
よろしくお願い致します。

No.2485 2016/06/11(Sat) 19:52:41

Re: ラジオボタンについて / ある
recIEがすぐ使える時はまずそれで、
ない時はまずformsとelementsを調べることが多いです。

for n=0 to IE.document.forms.length-1
for i=0 to IE.document.forms[n].elements.length-1
IE.document.forms[n].elements[i].value=n+":"+i
next
next

これでそれぞれの番号が表示されるので、該当ボタン(今回ならラジオボタン)に何が表示されるか
例えば「1:3」と出たら forms[1].elements[3] がそうなので、

IE.document.forms[1].elements[3].click()
busywait()

という形で押下処理を行います。
ただこれは単に最初に覚えたやり方を今もやっているだけで、もっと効率が良い方法は
いくつかあると思うし、そもそもformがないページでは使えないです。
recIEが使えるなら効率は圧倒的だし、そこから生成されたコードから学習もできるので、
もう少し踏み込んで利用される場合は持っておくことをお勧めします(^^)

No.2487 2016/06/12(Sun) 02:08:55

Re: ラジオボタンについて / カフェオレ
ありがとうございます。

教えていただいたスクリプトを動かしてみましたが、表示されませんでした。
見落としているのか、どこに表示されているのかはわかりません。

表示させるために特定のコマンドが必要なのでしょうか?

教えてください、よろしくお願いします。

No.2491 2016/06/12(Sun) 23:28:37

Re: ラジオボタンについて / ある
あ、すいません。ラジオボタンでしたね。通常ボタンをイメージして書いていました。
そうなるとオプションまで調べないとダメだけど、正直ここで書いて伝えられる自信ないです(^^;)
すみません。

IE.document.getelementbyid("Q1_1").options[1].selected=true

とかではダメですかね?
もし2番目が選択されたらoptions[0]にしてみるとかで。

No.2492 2016/06/13(Mon) 00:26:22

Re: ラジオボタンについて / カフェオレ
返信が遅れて申し訳ありません。

頂いたスクリプトを元に色々と試してみて、またこちらに書き込ませていただきたいと思います。

色々と教えていただき、ありがとうございました。

No.2506 2016/06/16(Thu) 13:35:56
RecIE で右クリックを記録(入力)し先に進めたい / O.F
右クリックでメニュ選択が必要なWEB画面をRecIEで記録中、右クリックすると、
RecIEの右クリックメニュが表示され、それ以降、右クリック操作で先に進めないです。
RecIEの右クリックメニュに、「クリック処理(Y)」がありますが、左クリックしかで
きないようでした。右クリック操作したい場合はどうにすればよろしいでしょうか。

No.2498 2016/06/15(Wed) 11:46:47

Re: RecIE で右クリックを記録(入力)し先に進めたい / ある
RecIEを使って記録するのは主にWEB上の操作であって、ブラウザ上に影響を与えないクリック操作
などは対象外です(ブラウザ上のボタン押下などは記録され、何もないところでクリックしても
記録はされない)。

右クリックを記録したい場合はRecIEではなく、UWSCウィンドウの5つボタンがある内の
右から2番目の記録ボタンを使えば記録できます。

関数を使うなら
btn(right,click,x,y,50) //xとyはそれぞれxとy座標。50ミリ秒
とかでもいけます。左クリックなら「right」を「left」に変えて下さい。

No.2500 2016/06/15(Wed) 19:57:24

Re: RecIE で右クリックを記録(入力)し先に進めたい / O.F
あるさん、ご教授ありがとうございます。
右クリックの記録というよりも、右クリック入力でメニュ選択しないと先に進まない
ブラウザなので、それ以降のRecIEで期待していた高レベルな記録は無理なようですね。
しかたないので、RecIEでの記録はあきらめます。

No.2505 2016/06/16(Thu) 11:48:03


 過去ログ(〜2016/10/02)・検索ツール


以下のフォームに記事No.と投稿時のパスワードを入力すれば
投稿後に記事の編集や削除が行えます。
199/200件 [ ページ : << 1 ... 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 過去ログ ]