vbaでWEBの、select操作を行いたいのですが、valueを設定するも、うまく動作しません。
下記、①のselectで馬連を選択しても、②方式選択が更新されません
For Each obj In ie.document.getElementsByTagName("select")
If obj.Name = "betType" Then
obj.Value = 5web 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