どうぞ
// クイックデモにログインしていること // IEを自動制御するUWSCコードの参考 // http://q.hatena.ne.jp/1388102098 // http://d.hatena.ne.jp/language_and_engineering/20140204/controlIeBrowserbyUWSC // アクセスしたいページのURL url = "http://jp.demo.highlow.net/" // 新規IEオブジェクトを作成 ie = createOLEobj("InternetExplorer.Application") // 起動中のIEを見えるように ie.visible = True wid = hndtoid( ie.hwnd ) acw( wid ) // 対象ページを開く ie.navigate( url ) ie_wait( ie ) // ON DEMANDタブをクリック odtab = gid( ie, "ChangingStrikeOOD") odtab.click() sleep( 0.5 ) // 資産カテゴリのタブの入れ物 asset_div_container = gid( ie, "assetsCategoryFilterZoneRegion") // その中のタブ全部を取得 asset_tabs = asset_div_container.getElementsByTagName("div") // その中の最後のタブ fx_tab = asset_tabs.Item( asset_tabs.length - 1 ) // をクリック fx_tab.click() sleep( 0.5 ) // 通貨切り替えボックス内の何番目を押したいか(0番目から) cur_index = 2 // ALL // AUDJPY // EURJPY // GBPJPY // USDJPY // 通貨切り替えボックスを操作 // ※mouseupイベントなど複雑なので単純なクリックだけでは無理 cur_box = gid( ie, "assets") cur_box.focus() sleep( 0.5 ) for i = 0 to cur_index - 1 kbd( VK_DOWN, CLICK, 100 ) sleep( 0.5 ) next KBD(VK_RETURN,CLICK,100) sleep( 0.5 ) cur_box.blur() // 該当する通貨のパネル部分を取得 panel = gid( ie, "carousel") // パネルの中の要素を分析して表示 span_return_rate = tag_and_class( panel, "span", "returnRate" ) //msgbox( span_return_rate.innerText ) span_strike = tag_and_class( panel, "span", "strike" ) //msgbox( span_strike.innerText ) // HIGHボタンを押す high_btn = gid( ie, "up_button" ) high_btn.click() sleep( 2 ) // LOWボタンを押す low_btn = gid( ie, "down_button" ) low_btn.click() sleep( 2 ) // 量を入力 amount_box = gid( ie, "amount" ) amount_box.value = "10000" sleep( 1 ) // 今すぐ購入 invest_btn = gid( ie, "invest_now_button" ) invest_btn.focus() sleep( 1 ) KBD(VK_RETURN,CLICK,100) sleep( 1 ) // プロセス中→Successと表示される msgbox("完了") // 以下は関数 // IEがビジー状態の間待ちます procedure ie_wait( ie ) repeat sleep( 0.1 ) until ( ! ie.busy ) and ( ie.readystate = 4 ) sleep( 0.2 ) fend // getElementById function gid( ie, dom_id ) result = ie.document.getElementById( dom_id ) fend // タグ名とクラス名を指定して最初の1つだけ要素を返す function tag_and_class( parent, tag_name, class_name ) tags = parent.getElementsByTagName( tag_name ) for i = 0 to tags.length - 1 ifb tags.Item( i ).getAttribute("class") = class_name then result = tags.Item( i ) endif next fend
通貨の選択以外は、期待通りの動きでした。
ただ、通貨の選択が希望の通りに動きません、
// 通貨切り替えボックス内の何番目を押したいか(0番目から)
cur_index = 2
// ALL
// AUDJPY
// EURJPY
// GBPJPY
// USDJPY
上記の記述からcur_index = 2 の数値を1,2,3,4と書き換えれば、通貨の種類が上から順番に異なる通貨が選択されると思いましたが、いつもGBPJPYが選択されます。
4つの内の任意の通貨を選択するにはどのようにすれば良いか、ご教示下さい。
宜しくお願い致します。