三流君 ken3のmemo置き場

三流プログラマーのメモ書きです。主にVBAやWindowsの話題が多いです

挨拶・自己紹介:
失敗続きのAB型の変わり者 :三流プログラマー Ken3です
フリーのエンジニア・個人事業主です・・と書くと聞こえはイイが(それとなくカッコよく聞こえるが)、 現在は小さな案件の受注請負 と 短期派遣 で 日々つつましく?ほそぼそと暮らしてます。
Ken3三流君の連絡先:
[google formsで連絡する]
上記の問い合わせフォームに質問・感想など気軽に書き込んでください

よく検索されるキーワード: [質問回答XXXXさんへ] [CreateObject] [VBA] [JRA競馬オッズ]

XXXXXさんへ IE操作 SELECTタグで動的に変化するページの操作について

vbaでWEBの、select操作を行いたいのですが、valueを設定するも、うまく動作しません。

下記、①のselectで馬連を選択しても、②方式選択が更新されません
For Each obj In ie.document.getElementsByTagName("select")
If obj.Name = "betType" Then
obj.Value = 5

web address
https://www.oddspark.com/keiba/auth/ClassicVoteTop.do?kaisaiBi=20180827&joCode=12&raceNo=9

①賭式選択
<div class="bet">賭式を選択</div>
<select name="betType" id="betTypePullDown">
<option value="-1">-</option>,<option value="1">単勝</option>,<option value="2">複勝</option>,<option value="3">枠連</option>,<option value="5">馬連</option>,<option 
value="6">馬単</option>,<option value="7">ワイド</option>,<option value="8">3連複</option>,<option value="9">3連単</option></select>

↑にjavascriptのイベントが直接書いていない。
別ファイルなどで、jquryなどで処理しているのかなぁ。

オッズパーク?のページ、が、ログインしていないと開けないみたいなので、
確認できなかったのですが、
選択後に動的にJavascriptなどで選択内容を変更しているのかなぁとは思いますが、
チェンジなどのイベントが、SELECTのタグに書いていないのが気になっていたり。

パターン的に、
For Each obj In ie.document.getElementsByTagName("select")
If obj.Name = "betType" Then
obj.Value = 5

値を直接変えるだけだと、javascriptが走りません。

OPTIONの方をクリックするともしかしたら、走るかもしれません。
OPTIONにJavascriptが起動するようになっているなら、
三流君VBA:IE ラジオボタン(RADIO)の.Checkedと.Clickの違い
http://www.ken3.org/vba/backno/vba148.htmlwww.ken3.org
↑私のサンプルは、ラジオボタンですが、値を変えただけでは、
Javascriptコードが走らないので、
.Valueでセットしないで、

<select name="betType" id="betTypePullDown">
<option value="-1">-</option>,<option value="1">単勝</option>,<option value="2">複勝</option>,<option value="3">枠連</option>,<option value="5">馬連</option>,<option 
value="6">馬単</option>,<option value="7">ワイド</option>,<option value="8">3連複</option>,<option value="9">3連単</option></select>


option を 探って.Clickする方法に変えて動くといいのですが・・・

それか、
参考にされた私のダメサンプル
三流君VBA:IE SELECT後 .fireEventでJavaScriptのイベントを起動
http://www.ken3.org/vba/backno/vba155.htmlwww.ken3.org

'選択後にonchangeのイベントを発生させる
objIE.Document.all.JYO.fireEvent ("onchange")
として、JavaScriptのonchangeイベントを発生させました。

だと、

        For Each obj In ie.document.getElementsByTagName("select")
            If obj.Name = "betType" Then
                    obj.Value = 5 
obj.fireEvent ("onchange")

で、SELECTタグのオンチェンジを走らせる・・・

実際に動かせていないので、
想像で書いています。
ズバリの回答じゃなくてスミマセン。
解決の糸口となれば幸いです。  三流プログラマー Ken3


質問・感想・クレームなど、
気軽にコメント欄に書いてもらえるとうれしいです。

[Googleフォームにコメントを残す]
↑質問・コメントの入力フォームです、気軽に書いてください


フッター:最後にKen3Videoの動画一覧を紹介します

YouTubeにアップした動画です。他の動画を一瞬でも見てもらえるとさらに嬉しいです。
再生リスト:[三流君Ken3の最新動画]←リストの一覧形式で表示する


また、ブログを見に来てくださいね。ではまたぁ~