人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

UWSCのコードを教えて下さい。
以下のソースは、http://jp.demo.highlow.net/ を開いて、添付図に赤い四角で囲んだ部分です。
必要に応じて素の部分を選択又はクリック等をしたいと思いますので、uwsを使って自動的行う場合のコードを教えて下さい。
なお、ソースはchromeブラウザを使って取得したものです。
----------------------------------------------------------
?「ON DEMAND」 タブを押す。
<span id="ChangingStrikeOOD" class="highlow">ON DEMAND</span>

?「FX」タブを押す
<div class="tab last selected" style="display: inline-block;">
<span>FX</span>
</div>

?「通貨選択」タブを押して、4種類の通貨の1つを選択する。
AUDJPYの選択する場合のコード・・・
EURJPYの選択する場合のコード・・・
GBPJPYの選択する場合のコード・・・
USDJPYの選択する場合のコード・・・
<select id="assets"><option value="All" selected="selected">All</option><option
value="AUDJPY">AUD/JPY</option><option value="EURJPY">EUR/JPY</option><option
value="GBPJPY">GBP/JPY</option><option value="USDJPY">USD/JPY</option></select>
以上

1401323207
●拡大する

●質問者: iwana1999
●カテゴリ:コンピュータ インターネット
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● lang_and_engine
●1000ポイント

どうぞ



// クイックデモにログインしていること


// 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


iwana1999さんのコメント
いつもご教授頂きまして有り難うございます。 また、今回は厚かましく回答リクエストを出させて頂きましたがご迷惑ではなかったでしょうか。 2番目、3番目の回答も一緒にして頂きましたので、ポイントは別途送らせて頂きたいと思います。 ご教示頂きましたコードで動かしてみますので少々お待ち下さい。

lang_and_engineさんのコメント
>回答リクエスト →とくに煩わしいようなことはありませんのでご心配なく。 はてなの個人設定でも,「UWSC」などのキーワードを含む質問が投稿されたらメールが来るように設定してあります。 ただ離席中などで回答がつかない場合はご容赦ください。 コードに修正が必要な場合はコメントでお知らせください

質問者から

通貨の選択以外は、期待通りの動きでした。

ただ、通貨の選択が希望の通りに動きません、
// 通貨切り替えボックス内の何番目を押したいか(0番目から)
cur_index = 2
// ALL
// AUDJPY
// EURJPY
// GBPJPY
// USDJPY
上記の記述からcur_index = 2 の数値を1,2,3,4と書き換えれば、通貨の種類が上から順番に異なる通貨が選択されると思いましたが、いつもGBPJPYが選択されます。
4つの内の任意の通貨を選択するにはどのようにすれば良いか、ご教示下さい。
宜しくお願い致します。


関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ