|
前から少し気になっていたので相談です。
FXの自動売買ツール作成時の決算処理にて起きた現象なのですが、テキストボックスに値入力後、画像ボタンを押すと固まる現象が起きました。反応するときもありますが、正しく動きません。現状BTN()で回避していますが何かよい対応方法ありますでしょうか。
対応しているサイトがわかりそうな部分はx,y,zに置き換えています。
// 注文の確認 Ifb (input_data_1 < CHECK_VALUE) Then IESetData(IE, FORMAT(input_data_1, DISPLAY_DIGIT_1, DECIMAL_DIGIT), "txtSetPointRate") Else IESetData(IE, FORMAT(input_data_1, DISPLAY_DIGIT_2, DECIMAL_DIGIT), "txtSetPointRate") Endif Sleep(WAIT_250msec)
Ifb (input_data_2 < CHECK_VALUE) Then IESetData(IE, FORMAT(input_data_2, DISPLAY_DIGIT_1, DECIMAL_DIGIT), "txtSetReversePointRate") Else IESetData(IE, FORMAT(input_data_2, DISPLAY_DIGIT_2, DECIMAL_DIGIT), "txtSetReversePointRate") Endif Sleep(WAIT_250msec)
★問題箇所 IESetData(IE, True, "TAG=IMG", "/xxxxxxx/xxxxxxx/xxxxxxx/xxxxxxx.gif") ★現状の回避策 ACW(GETID("zzzzzzz - Internet Explorer","IEFrame"),768,0,768,826,0) BTN(LEFT,CLICK,1095,435,200) Sleep(WAIT_01sec)
// 注文の実行 IESetData(IE, True, "TAG=IMG", "/yyyyyyy/yyyyyyy/yyyyyyy/yyyyyyy.gif")
Thread PopupWin("Web ページからのメッセージ","OK") IESetData(IE,True,"B1") Sleep(WAIT_01sec)
環境 OS :Windows 8.1 64bit IE :11.0.9600.17239 UWSC:Ver 5.0.2
|
No.107 2014/09/08(Mon) 22:32:49
|
☆ Re: text入力後、画像ボタンを押すと固まる件について / なま |
|
|
//何が原因かはわかりませんが…… elements = IE.document.getElementsByTagName("img") for i = 0 to elements.length - 1 ifb pos("/xxxxxxx/xxxxxxx/xxxxxxx/xxxxxxx.gif",elements.item[i].src)<>0 elements.item[i].click() BusyWait(IE) break endif next
|
No.108 2014/09/09(Tue) 03:03:20
|
|
☆ Re: text入力後、画像ボタンを押すと固まる件について / Myu |
|
|
なまさんありがとうございます。 試してみましたが、結果変わらずでした。
正確にはElementsにボタン画像が内容です。
|
No.111 2014/09/10(Wed) 00:26:48
|
|
☆ Re: text入力後、画像ボタンを押すと固まる件について / Myu |
|
No.112 2014/09/10(Wed) 00:27:34
|
|
☆ Re: text入力後、画像ボタンを押すと固まる件について / なま |
|
|
であれば、"/xxxxxxx/xxxxxxx/xxxxxxx/xxxxxxx.gif"がsrc指定されたimgタグがと存在しないんでしょうね。
IESetData(IE, True, "TAG=IMG", "/xxxxxxx/xxxxxxx/xxxxxxx/xxxxxxx.gif") というのはおそらくRecIEで生成されたのだと思います。 アクセスする度に画像ファイルが変わっていて、失敗する場合は別のファイルが使用されているんじゃないでしょうか?
ソース見ないと何とも言えないですね。
|
No.113 2014/09/10(Wed) 10:25:55
|
|
☆ Re: text入力後、画像ボタンを押すと固まる件について / Myu |
|
|
過去の背景としてはElementsにほしいボタン画像がなかったため、F12の開発者ツールから、"/xxxxxxx/xxxxxxx/xxxxxxx/xxxxxxx.gif"を判断しました。 実際、テキスト処理なしの場合は問題なく動きます。テキスト処理をいれた場合のみその後の画像ボタン操作で固まります。
|
No.123 2014/09/11(Thu) 21:05:43
|
|
☆ Re: text入力後、画像ボタンを押すと固まる件について / なま |
|
|
テキスト処理後に"/xxxxxxx/xxxxxxx/xxxxxxx/xxxxxxx.gif"が消滅してるんじゃないでしょうか? テキスト処理前後で全てのIMGタグをチェックしてみてはいかがでしょうか? //---- elements = IE.document.getElementsByTagName("img") for i = 0 to elements.length - 1 print i + ":" + elements.item[i].outerHTML next //----
|
No.133 2014/09/15(Mon) 00:09:26
|
|
☆ Re: text入力後、画像ボタンを押すと固まる件について / Myu |
|
|
なまさん、ありがとうございます。 平日は時間がとれないので週末にでも試してみます。
|
No.146 2014/09/17(Wed) 00:27:25
|
|
☆ Re: text入力後、画像ボタンを押すと固まる件について / Myu |
|
No.154 2014/09/22(Mon) 21:58:39
|
|
☆ Re: text入力後、画像ボタンを押すと固まる件について / なま |
|
|
出力された結果の中に"/xxxxxxx/xxxxxxx/xxxxxxx/xxxxxxx.gif"は含まれていたのでしょうか? そろそろ現物見ないでの推理ゲームも厳しくなってきました……
|
No.155 2014/09/23(Tue) 04:32:34
|
|
☆ Re: text入力後、画像ボタンを押すと固まる件について / Myu |
|
No.162 2014/09/24(Wed) 07:52:41
|
|
☆ Re: text入力後、画像ボタンを押すと固まる件について / なま |
|
|
それでボタン画像が無いって判断がどこから出てきたんでしょうか?
んー、もしかして「画像ボタンを押すと固まる現象」ってのはクリック処理自体は実行されているのでしょうか…… そもそも手動で同等の処理した時は問題ないんですよね?
「テキスト処理」は「// 注文の確認」から「★問題箇所」の間の処理のことでしょうか? であれば、とりあえずその部分を下記に置き換えて試してみてはどうでしょう?
//---- elements_txtSetPointRate = IE.document.getElementsByName("txtSetPointRate") elements_txtSetReversePointRate = IE.document.getElementsByName("txtSetReversePointRate") //デバッグ用:各オブジェクトの数を確認しておく print "txtSetPointRateの数=" + elements_txtSetPointRate.length print "txtSetReversePointRateの数=" + elements_txtSetReversePointRate.length
Ifb (input_data_1 < CHECK_VALUE) Then elements_txtSetPointRate.item[0].value = FORMAT(input_data_1, DISPLAY_DIGIT_1, DECIMAL_DIGIT) Else elements_txtSetPointRate.item[0].value = FORMAT(input_data_1, DISPLAY_DIGIT_2, DECIMAL_DIGIT) Endif
Ifb (input_data_2 < CHECK_VALUE) Then elements_txtSetReversePointRate.item[0].value = FORMAT(input_data_2, DISPLAY_DIGIT_1, DECIMAL_DIGIT) Else elements_txtSetReversePointRate.item[0].value = FORMAT(input_data_2, DISPLAY_DIGIT_2, DECIMAL_DIGIT) Endif //----
|
No.163 2014/09/24(Wed) 11:36:25
|
|
☆ Re: text入力後、画像ボタンを押すと固まる件について / Myu |
|
|
なまさんありがとうございます。 また週末に試してみます。
簡単ですが補足です。 ?@手動 ⇒問題なし ?A画像ボタンのみ ⇒問題なし
?Bラジオボタン+画像ボタン 購入時⇒問題なし 決算時⇒画像ボタン処理で入力フォームが固まる
?Cテキスト入力+画像ボタン 決算時⇒画像ボタン処理で入力フォームが固まる
|
No.165 2014/09/24(Wed) 21:05:31
|
|
☆ Re: text入力後、画像ボタンを押すと固まる件について / なま |
|
|
購入とか決算とか、初出の情報出されてもサッパリなのですが…… ラジオボタンについても初出ですね。
そもそも「固まる」という事象の詳細が分かりません。 ダメだった後に、引き続き手動でボタンをクリックしたら継続できますか?
あとは、テキスト入力部分を一旦コメントアウトして、その場所にmsgbox何かを追加して一時停止できるようにしてテキスト入力のみ手動で試してみるとか。 原因を切り分けることが問題の解決には重要です。
|
No.170 2014/09/26(Fri) 14:37:28
|
|
☆ Re: text入力後、画像ボタンを押すと固まる件について / Myu |
|
|
>購入とか決算とか、初出の情報出されてもサッパリなのですが…… ラジオボタンについても初出ですね。 ⇒FXの売買ですので購入時の入力フォームや決算時の入力フォームが存在しており、その中にはラジオボタンやテキスト入力、さらには画像ボタンなど存在しています。今回問題としたのはその中の決算時の入力フォームでの処理についてです。
>そもそも「固まる」という事象の詳細が分かりません。 ダメだった後に、引き続き手動でボタンをクリックしたら継続できますか? ⇒「固まる」という事象はダメだった後に、引き続き手動でボタンをクリックしたら継続できない状態です。
>あとは、テキスト入力部分を一旦コメントアウトして、その場所にmsgbox何かを追加して一時停止できるようにしてテキスト入力のみ手動で試してみるとか。 原因を切り分けることが問題の解決には重要です。 ⇒テキスト入力(手入力も)後+画像ボタン処理で固まることを確認しています。 画像ボタンのみ、両方とも手動時は問題なく動きます。
|
No.178 2014/09/28(Sun) 15:34:08
|
|
☆ Re: text入力後、画像ボタンを押すと固まる件について / Myu |
|
|
ロジック織り込み後も変わらずでした。
以下出力結果です。 txtSetPointRateの数=3 txtSetReversePointRateの数=3
|
No.179 2014/09/28(Sun) 15:53:27
|
|
☆ Re: text入力後、画像ボタンを押すと固まる件について / なま |
|
|
>⇒「固まる」という事象はダメだった後に、引き続き手動でボタンをクリックしたら継続できない状態です。 となると、サーバに不正な値渡してるんでしょうねぇ……
>⇒テキスト入力(手入力も)後+画像ボタン処理で固まることを確認しています。 >画像ボタンのみ、両方とも手動時は問題なく動きます。 ボタンクリック処理のみに原因が切り分けができているということですね。
やはりソースがわからないことには…… //下記みたいな感じでソース取得できますか? elements = IE.document.getElementsByTagName("img") for i = 0 to elements.length - 1 ifb elements.item[i].src = "/xxxxxxx/xxxxxxx/xxxxxxx/xxxxxxx.gif" print "1:" print elements.item[i].parentNode.outerHTML print "2:" print elements.item[i].parentNode.parentNode.outerHTML print "3:" print elements.item[i].parentNode.parentNode.parentNode.outerHTML //以下同様。公表できる範囲で。 endif next //
あるいはRecIEの「全てIE.Navigateで処理する」ベースで構築した方が良いかもしれません。
|
No.185 2014/09/29(Mon) 12:50:11
|
|