none
selectタグのoption選択してクリック RRS feed

  • 質問

  •  

    お世話になります。

    VB 2005でWebBrowserの自動化についての質問です。

    selectタグに列挙されたoptionを選択するには、通常は次のようなコマンドでうまくいっています。

    WebBrowser1.Document.GetElementsByTagName("select")(i).GetElementsByTagName("option")(j).SetAttribute("selected", "selected")

    ところが、あるサイトについては、selectタグまわりにjavascriptを使っており、
    onChangeでイベントを振り分けています。

    このサイトに対し、先ほどの方式でoptionを選択しても、選択はできますが、
    イベントが発生しせん。
    もちろん、マウス操作でクリックすると、イベントは発生します。

    改善案として、

    WebBrowser1.Document.GetElementsByTagName("select")(i).GetElementsByTagName("option")(j).InvokeMember("click")

    も試してみましたが、うまくいきません。

    どうすれば、VBで該当のクリック操作をシミュレートできるか、ご教授よろしく
    お願いいたします。


    doratch
    2009年2月1日 16:25

回答

  • MSDN
        HtmlElement
            RaiseEvent メソッド

    • 回答の候補に設定 レナス 2009年2月3日 7:28
    • 回答としてマーク sk7474 2009年2月10日 5:52
    2009年2月2日 2:33
  •  答えの核心のところはすでに Karashima さんが書いておられますが、少し補
    足すると以下の通りです。



    WebBrowser1.Document.GetElementsByTagName("select")(i).GetElementsByTagName("option")(j).SetAttribute("selected", "selected")  
    WebBrowser1.Document.GetElementsByTagName("select")(i).RaiseEvent("onchange") 


    そんなことは言われなくても分かっているということでしたら失礼しました。
    • 編集済み SurferOnWww 2009年2月2日 15:41 コードが見えないのを修正
    • 回答の候補に設定 レナス 2009年2月3日 7:28
    • 回答としてマーク sk7474 2009年2月10日 5:52
    2009年2月2日 15:38

すべての返信

  • MSDN
        HtmlElement
            RaiseEvent メソッド

    • 回答の候補に設定 レナス 2009年2月3日 7:28
    • 回答としてマーク sk7474 2009年2月10日 5:52
    2009年2月2日 2:33
  •  答えの核心のところはすでに Karashima さんが書いておられますが、少し補
    足すると以下の通りです。



    WebBrowser1.Document.GetElementsByTagName("select")(i).GetElementsByTagName("option")(j).SetAttribute("selected", "selected")  
    WebBrowser1.Document.GetElementsByTagName("select")(i).RaiseEvent("onchange") 


    そんなことは言われなくても分かっているということでしたら失礼しました。
    • 編集済み SurferOnWww 2009年2月2日 15:41 コードが見えないのを修正
    • 回答の候補に設定 レナス 2009年2月3日 7:28
    • 回答としてマーク sk7474 2009年2月10日 5:52
    2009年2月2日 15:38
  • karashima様、Surfer On Www様

    コメントありがとうございます。

    教えていただいた方法でテストしてみたところ、無事成功しました。

    とても助かりました。ありがとうございました。

    doratch
    2009年2月3日 3:31
  • こんにちは。中川俊輔です。

    karashimaさん、SurferOnWwwさん、回答ありがとうございます。

    doratchさん、フォーラムのご利用ありがとうございます。
    有用な情報と思われたため、karashimaさん、SurferOnWwwさんの回答へ回答済みチェックをつけさせていただきました。

    今後ともフォーラムをよろしくお願いします。
    それでは!


    マイクロソフト株式会社 フォーラム オペレータ 中川 俊輔
    2009年2月10日 5:55