[ 掲示板に戻る ]

過去ログ閲覧モード

ラジオボタンについて / カフェオレ
初心者です。

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


ソース
<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
For文のバグでしょうか? / siguma
以前も似たようなタイトルで投稿しましたが全くの別件です。
よろしくお願いします。

[test.uws]
flg = false
for i = 1 to 20
print i
ifb !flg then
i = 15
flg = true
endif
next

としまして[test.uws]を実行した場合、「1」「16」「17」…「20」と表示されるのを期待するのですが…
「1」「2」「3」…「20」とスキップされずに全部表示されてしまいます。

JavaScriptで書くと下記のようになりますが

[test.js]
var flg = false;
for (var i=1 ; i<=20 ; i++){
alert(i);
if (!flg) {
i = 15
flg = true
}
}

これだと「1」「16」「17」…「20」と期待通りに動作します。



Windows 7 32bit
UWSC 最新版5.2.2.0

No.2501 2016/06/15(Wed) 23:11:39

Re: For文のバグでしょうか? / しゅん
仕様かと思われます。
UWSCのFOR文は、基本的にループ変数が変更不可です。(一時的に変更できるけど、最初に戻ると元のステップにもどる)

最近は変更不可な言語をみませんが、while文との最大の違いとして、変更不可としている言語がありました。
ということで、変更したいならwhile文を使ってください。
なお、処理速度はFOR文の方が速いです。

No.2502 2016/06/16(Thu) 00:55:10

Re: For文のバグでしょうか? / siguma
しゅんさん、ご教授ありがとうございます。

確かにforに戻ると中で変更したカウンタの数値は無視されますね…

whileですとカウンタのインクリメントやらブレーク処理やら忘れそうなのでfor文で行いたかったのですが、あきらめます。

No.2504 2016/06/16(Thu) 02:25:40
EXCELの保護について / モリ
XLGETDATAでデータを更新する前に保護を解除して、更新後、保護ほ設定するにはどうにすればよろしいでしょうか。
No.2499 2016/06/15(Wed) 18:51:34
画像の一致率を出したいです。 / ゆい
UWSCのCHKIMGを使った画像認識は完全一致でなければ検出されません。

OPENCVの形状マッチングのように一致率を出し、一致率が一定以上高かった場所の座標を返すようなことはできないでしょうか。
ほかの言語を使ってもかまいません。UWSCにそれを組み込む予定です。
できればMOUSEROGを使ったバックグラウンドにも対応できればありがたいです。
どなたかご教授いただけないでしょうか。

No.2489 2016/06/12(Sun) 09:01:58
ウインドウがない場合のGETIDの取得時間 / middle
GETIDにてウインドウIDを取得していますが
指定ウインドウがない場合に時間がかかってしまいます。
タイトルに一致しない場合、あいまい検索をするようで時間がかかるようです。
完全一致のみに限定できないでしょうか?

No.2484 2016/06/11(Sat) 15:09:37

Re: ウインドウがない場合のGETIDの取得時間 / routa
ヘルプで引数の「待ち時間秒」を確認しましょう。
No.2486 2016/06/12(Sun) 01:52:47
ファイルでの起動制御 / しろ
UWSCスクリプト内でスクリプトの2重起動を制御する方法があると聞いたのですが、ご存じありませんか?
No.2428 2016/05/31(Tue) 02:54:03

Re: ファイルでの起動制御 / koi
他にいい方法があるのかもしれませんが私は以下のようにしています

//起動済み 同一 スクリプトを閉じる
FOR I = 0 TO GETALLWIN() - 1
 IF (STATUS(ALL_WIN_ID[I], ST_PATH) = GET_UWSC_DIR + "\uwsc.exe")
  IF (POS(GET_UWSC_NAME, STATUS(ALL_WIN_ID[I], ST_TITLE)) <> 0)
   DOSCMD("taskkill /pid " + STATUS(ALL_WIN_ID[I], ST_PROCESS))
  ENDIF
 ENDIF
NEXT

私の場合 あとから起動したものを有効にしたいので
上記のように(起動済みスクリプトを強制終了)していますが
そこの処理を自分の好みに合わせて変更すればいいかと思います

No.2429 2016/05/31(Tue) 03:57:47

Re: ファイルでの起動制御 / しろ
koisさん

レスありがとうございます。

その方法ではなく、他にあった記憶があります。

ソースにに重複起動を制御する方法がありました。

No.2439 2016/05/31(Tue) 19:37:40

Re: ファイルでの起動制御 / 森
EXE化の際に「多重起動を許さない」というオプション(チェックボックス)がありますが、そのことでは無いでしょうか?
No.2442 2016/06/01(Wed) 00:28:47

Re: ファイルでの起動制御 / しろ
森さん

レスありがとうございます。

それではありません。

No.2452 2016/06/03(Fri) 05:41:33

Re: ファイルでの起動制御 / しゅん
Mutexを使えば良いかと思います。
No.2453 2016/06/03(Fri) 12:00:23

Re: ファイルでの起動制御 / しろまさ
Mutex・・・懐かしいですね。。約10年前のサンプルコードでよければ以下をどうぞ^^

http://siromasa.html.xdomain.jp/uwsc/u_sample/index.html
2007/04/16 [Class] 共有メモリを使用しプロセス間通信 (文字列のみ) ⇒ Class_SharedMemory.uws
2007/05/05 [Class] ローカルプロセス間 の 重複処理を防止する (同期をとる) ⇒ Class_Mutex.uws [Treasure]
2007/07/13 [Class] ネットワークプロセス間 の 重複処理を防止する (同期をとる) ⇒ Class_MutexForUNC.uws [Treasure]

No.2454 2016/06/03(Fri) 13:58:57

Re: ファイルでの起動制御 / 森
単純ですが、これでどうでしょう?
IF GETID(GET_UWSC_NAME,"TUMain_uwsc") > 0 THEN EXITEXIT

No.2455 2016/06/03(Fri) 17:11:01

Re: ファイルでの起動制御 / しろ
みなさん

レスありがとうございます。

残念ながら、違います。

うーんどうしたものかな。

No.2456 2016/06/04(Sat) 03:30:44

Re: ファイルでの起動制御 / 森
目的は多重起動の抑制では無いのですか?
No.2457 2016/06/04(Sat) 08:52:11

Re: ファイルでの起動制御 / POOLA
まず、どちらでしょう?

・「2重起動を制御する方法がある」と聞いたので、その真偽を確かめたい
・2重起動を制御したい

前者なら、言った人に聞くかソースを明らかにすればいいと思います。
後者なら、やりたいことやその理由をもっと具体的に言う必要があると思います。

No.2458 2016/06/05(Sun) 08:36:05

Re: ファイルでの起動制御 / しろ
みなさま>レスありがとうございます。

目的はUWSCスクリプト内で2重起動を制御する方法が昔あったのですが、思い出せずにいます。

とりあえずではありますが、koi様のご紹介いただいた方法で、プロセスをCENSOREDのではなく、起動を制御する方向で考えたいと思います。

No.2482 2016/06/11(Sat) 02:01:54
値の取得方法 / ミスターワタナベ
ALL_ITEM_LISTの10番目の値を取得したいのですが
for分で回すより良い方法はないのでしょうか?

for i = 0 to GetItem(ID, ITM_STATIC, 1)-1

next

print ALL_ITEM_LIST[10]// この値を取得したい。

No.2470 2016/06/09(Thu) 22:09:37

Re: 値の取得方法 / ある
GetItem(ID, ITM_STATIC, 1)
print ALL_ITEM_LIST[10]

でダメでしたっけ??

No.2472 2016/06/10(Fri) 05:44:37

Re: 値の取得方法 / しろまさ
配列は 0 からだから10番目は ALL_ITEM_LIST[9]。
そういう話ではない?

No.2475 2016/06/10(Fri) 13:32:09

Re: 値の取得方法 / ミスターワタナベ
ありがとうございます。
GetItem(ID, ITM_STATIC, 1)
print ALL_ITEM_LIST[10]
で出来ました。
一行目の関数は変数に格納しなくてもいいんですね。

No.2479 2016/06/10(Fri) 18:34:57

Re: 値の取得方法 / ある
GETITEM()
を実行した時点でALL_ITEM_LIST配列に値が突っ込まれる、という認識です。
一行目を実行した時点で格納完了、という感じでしょうか。

No.2481 2016/06/10(Fri) 22:45:18
すでに開いているWebページのテキスト値読み込み / しゅん
すでにIE11で開いているWebページの指定文字列間のテキスト値をUWSCで読み込みたいんですが、
どなたかサンプルコードを教えてもらえないでしょうか?

No.2467 2016/06/09(Thu) 15:59:50

Re: すでに開いているWebページのテキスト値読み込み / しゅん
Webページからのテキスト読み込みが難しそうだったので、ちょっとやり方を変えてメモ帳にWebページのテキストをコピーしてメモ帳から
指定文字列間のテキスト値を読み取る方向に変えてみました。
しかしできずに困ってます。

BETWEENSTR関数はメモ帳では使えないのでしょうか?

No.2468 2016/06/09(Thu) 17:59:56

Re: すでに開いているWebページのテキスト値読み込み / ある
tag=IE.document.getelementsbytagname("div") //←該当タグ。divとかtdとかh3とか
for n=0 to tag.length-1
tex=tag.item(n).innertext
ifb pos("指定文字",tex)>=1 then
print tex
//ここで文字の抜出やらの加工処理
endif
next
//IE生成やbusywaitなどは省略

betweenstrはきっと使い方を間違えてると思うので、どういうコードを書いたか
載せられた方がいいかもです。

No.2471 2016/06/10(Fri) 05:42:40

Re: すでに開いているWebページのテキスト値読み込み / しゅん
あるさんレスありがとうございます。
ご指摘の通り、betweenstrの使い方が間違えてると思うんですけど初心者なので見当つきません。
以下のコードでスプリクトを起動させるとメッセージボックスは空白で
表示されます。エラーはでてません。

・指定文字列間の数字のみ取得したいので、メモ帳の保存は必要なし
・Webページからメモ帳にコピペされたテキストは空白を含む十数行


スプリクトは下記で記載してます。(手動記録を含む)
〜IEのコピペ省略〜
GID = EXEC("notepad")
sleep(1.0)
ACW(GETID("無題 - メモ帳","Notepad"),1148,170,283,752,0)
KBD(VK_CTRL,DOWN,157)
KBD(VK_CTRL,DOWN,500)
KBD(VK_CTRL,DOWN,47)
KBD(VK_CTRL,DOWN,31)
KBD(VK_CTRL,DOWN,15)
KBD(VK_V,DOWN,16)
KBD(VK_CTRL,UP,109)
KBD(VK_V,UP,0)

sleep(1.0)

MSGBOX("メモ帳に表示された文字列を取得します")

sleep(1.0)

STR = BETWEENSTR( GID ,"ポイント:","p")


MSGBOX(STR)

No.2473 2016/06/10(Fri) 09:40:25

Re: すでに開いているWebページのテキスト値読み込み / miles
STR = BETWEENSTR(GETSTR(GID),"ポイント:","p")//メモ帳から
STR = BETWEENSTR(GETSTR(0),"ポイント:","p")//クリップボードから

No.2474 2016/06/10(Fri) 11:02:01

Re: すでに開いているWebページのテキスト値読み込み / ある
解答はmilesさんが書かれているので簡単に補足だけ。
GIDのみだとウインドウidで、これをprintすると1とか2になると思います
GID内の文字列取得がGETSTR(GID)ですね
また単に文字列取得だけしたい場合はテキストに貼り付ける必要はなく
クリップボード経由で行うのが簡単。それがGETSTR(0)となります。

この場合、GID=EXEC(GID)以下全部消去してBETWEENSTRの行のみで完了となり便利です。

No.2477 2016/06/10(Fri) 14:58:42

Re: すでに開いているWebページのテキスト値読み込み / しゅん
milesさん、あるさんレスありがとうございます。
教えて頂きありがとうございました。
無事目的のテキスト値を取得することができました。
クリップボード経由のやり方も教えてくれてとても勉強になりました。
ありがとうございました。

No.2478 2016/06/10(Fri) 18:03:56
Call文のバグでしょうか? / siguma
[test01.uws]
FID = FOpen(".\test02.uws", F_READ)
FID2 = FOpen(".\test03.uws", F_WRITE)
FPut(FID2, FGet(FID, F_ALLTEXT), F_ALLTEXT)
FClose(FID)
FClose(FID2)
Call .\test03.uws

[test02.uws]
MsgBox("Hello World!")

としまして[test01.uws]を実行すると「Hello World!」と表示されます。(期待通り)


次に[test02.uws]を

[test02.uws]
MsgBox("こんにちは世界!")

と書き換えて再び[test01.uws]を実行した場合、「こんにちは世界!」と表示されるのを期待するのですが…

何故か「Hello World!」と表示されてしまいます。

もう一度実行してやっと「こんにちは世界!」と表示されます。


ちなみに最初の段階で[test03.uws]が存在してない状態で実行すると「FILE not found…」とエラーが表示されます
(通常「F_WRITE」引数を付けた場合はファイルが存在しない場合は新規作成するはずなのですが)


Windows 7 32bit
UWSC 最新版5.2.2.0

No.2463 2016/06/09(Thu) 01:27:38

Re: Call文のバグでしょうか? / しゅん
バグではありません。

CALLのヘルプには「Call 文 スクリプト(UWSファイル)を取り込む」とあります。
スクリプト起動時に、そのファイルをその場所に取り込むイメージです。

すなわち、起動時に「Hello World!」で取り込んでから開始し、「こんにちは世界」に書き換えて「Hello World!」を表示することになります。
スクリプト内でスクリプトを生成して実行する、ということは、別プロセスでない限り出来ない、ということです。

No.2464 2016/06/09(Thu) 09:07:50

Re: Call文のバグでしょうか? / しろまさ
簡単に言うと
Call .\test03.uws

DosCmd(".\test03.uws")
に変える。

CallはInclude的に使うと良いですよ。

No.2465 2016/06/09(Thu) 09:56:28

Re: Call文のバグでしょうか? / siguma
なるほど!

Call文がスクリプト実行前に行われる仕様とは気付きませんでした…

以前スケジューラーに登録しておいたスクリプトがうまく動かなくて困った事があったのですが、それもこの事が原因だったみたいです…

要望を言わせてもらえば、ヘルプファイルの所に「…はスクリプト実行前に行われます」と記載してもらえれば良かったかなと…
(私のスキルでは「Call 文 スクリプト(UWSファイル)を取り込む」という一文だけでInclude的仕様と読み取る事は出来ません(泣))

しゅんさん しろまささん
勉強になりました!ありがとうございます!

No.2469 2016/06/09(Thu) 19:40:24

Re: Call文のバグでしょうか? / しろまさ
Call Public Const DEF_DLL Moduleの変数定義域
などは起動直後に実行されますがそれぞれの実行順序は保障されない。

Call DEF_DLL は再実行が可能ですが
Call は、起動時に読込まれたものが使用される。
DEF_DLL は、型の再設定が可能。

経験的にそんな感じだったと思います^^
個人的にCallは、冒頭でのModuleの読込にしか使ってません。

No.2476 2016/06/10(Fri) 13:42:13
全1170件 [ ページ : << 1 ... 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 ... 117 >> ]