- - PR -
VB2005 webbrowserコントロールの制御について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-01-12 06:09
WebBrowserコントロールの制御について困っています。
あるページをNavigateメソッドで読み込み、 そのSelectタグの任意の項目をマウスでクリックしたときと まったく同じ制御をプログラムから行おうとしています。 SetAttributeでSelectedIndexを設定する方法はわかるのですが、 scriptでクリックイベントを処理しており、 クリックによってscriptを実行させたいために、 Webbrowserコントロールにクリックしたことをイベントで渡したいです。 具体的には・・・ NameがWebBrowser1というWebBrowserコントロールで表示された、 1番目のselectタグの3番目のoptionを選択したいときに、 WebBrowser1.Document.Body.GetElementsByTagName("select") .Item(0).GetElementsByTagName("option").Item(2).InvokeMenber("click") で大丈夫な気がするのですが、 これだとなぜか一番目の項目が選択されてしまいます。 なお、InvokeMenberで指定できるメソッド名はタグにより異なると思いますが、 どの辺のホームページで調べることができるでしょうか? DOMとかDHTMLとかをキーワードで探しましたが、 あまり理解できませんでした。 初心者の質問でわかりにくいかも知れませんが、よろしくお願いします。 |
|
投稿日時: 2009-02-07 01:14
こんにちは
javascriptを併用した動的HTMLですね。 私も同様な問題で悩みましたが、解決できましたのでその方法を記します。 WebBrowser1.Document.Body.GetElementsByTagName("select") .Item(0).GetElementsByTagName("option").Item(2).SetAttribute("selected", "selected") WebBrowser1.Document.Body.GetElementsByTagName("select") .Item(0).RaiseEvent("onchange") ポイントは、1行目で先ず該当項目を選択し、 2行目でonchangeイベントを発生させることです。 1行だけでは記述できないので、このように2行に分ける必要があります。 |
1