投稿者 るい  (社会人) 投稿日時 2016/11/2 17:32:59
webbrowseを使い、ウェブ上のテキストボックスやコンボボックスを操作するプログラムを書いています。
テキストボックスであれば
 Dim Elementst As HtmlElementCollection = Me.WebBrowser1.Document.GetElementsByTagName("input")
        For Each Element As HtmlElement In Elementst
            If Element.GetAttribute("id") = "input_text" Then
               Element.SetAttribute("value", "aaaaaaaaaaaaaaaaaa")   
      ’もしくはElement.InnerText = "aaaaaaaaaaaaaaaaaa"
       Exit For 
            End If
        Next

コンボボックスであれば
Elementst = Me.WebBrowser1.Document.GetElementsByTagName("select")
     For Each Element As HtmlElement In Elementst
            If Element.GetAttribute("id") = "deliveryTerm" Then
           Element.SetAttribute("selectedIndex", "3")
       ’もしくはElement.SetAttribute("value", "3")
                Exit For
            End If
        Next
のような方法を使っています。


どのように表現したらいいかわからないのですが、
実行した際に、見た目上はしっかり反映、入力されているのですが、内部的?には入力されていない状態のままで、「入力されていません」のような状態になります。

例えばSendKeys.Sendを使ってキーボードから入力したようにすれば反映されます。

コードを使って入力や選択をして、なおかつページがそれを認識するようにするにはどのような方法がございますでしょうか?

解りずらい質問で大変申し訳ございませんが、よろしくお願いします。