エレメントの操作

テキストボックスやボタンなどのエレメントを指定して操作を行います。
エレメントの指定方法については、エレメントの指定を参照ください。

クリック

ボタン、ラジオボタン、チェックボックス、リンク等をクリックします。 エレメントのClickメソッドを実行します。

HTML

サンプルコード(IE操作時)

                    'idがbtnのエレメントをクリック
					objIE.Document.GetElementById("btn").Click()

                	'idがcheckのエレメントをクリック
					objIE.Document.Forms(0).Item("check").Click()

                    '最初のリンクをクリック
					objIE.Document.Links(0).Click()
				
                    //idがbtnのエレメントをクリック
                    objIE.Document.GetElementById["btn"].Click();

                    //idが"check"のエレメントをクリック
                    objIE.Document.Forms[0].Item["check"].Click();

                    //最初のリンクをクリック
                    objIE.Document.Links[0].Click();
				
                    'IDが"btn"のエレメントをクリック
					objIE.Document.getElementById("btn").Click

                    'IDが"check"のエレメントをクリック
					objIE.Document.forms(0).Item("check").Click

                    '最初のリンクをクリック
					objIE.Document.Links(0).Click
				

サンプルコード(WebBrowser時)

                    'idがbtnのエレメントをクリック
					WebBrowser1.Document.GetElementById("btn").InvokeMember("Click")

                    'idがcheckのエレメントをクリック
					WebBrowser1.Document.Forms(0).All("check").InvokeMember("Click")

                    '最初のリンクをクリック
					WebBrowser1.Document.Links(0).InvokeMember("Click")
				
                    //idがbtnのエレメントをクリック
                    webBrowser1.Document.GetElementById("btn").InvokeMember("Click");

                    //idが"check"のエレメントをクリック
                    webBrowser1.Document.Forms[0].All["check"].InvokeMember("Click");

                    //最初のリンクをクリック
                    webBrowser1.Document.Links[0].InvokeMember("Click");
				
                    'idがbtnのエレメントをクリック
					WebBrowser1.Document.getElementById("btn").Click	

                    'idがcheckのエレメントをクリック
					WebBrowser1.Document.forms(0).Item("check").Click	

                    '最初のリンクをクリック
					WebBrowser1.Document.Links(0).Click					
				

選択

ラジオボタン/チェックボックス/セレクトボックス等を選択します。
エレメントがチェックボックス(checkbox)とラジオボタン(radio)の場合は、CkeckedプロパティにTrue/Falseを設定します。
(.NETのWebBrowserでは、False設定は空文字)
セレクトボックス(selectタグ、optionタグ)の場合は、SelectedIndexプロパティやSelectedプロパティを使用します。

IE.Document.フォーム名.コンボボックス名.selectedIndex = 0からの番号

サンプルコード(IE操作時)

					'先頭のフォームのid属性radio1を選択
					objIE.Document.Forms(0).Item("radio1").Checked = True
					
					'先頭のフォームのid属性select1のセレクトボックスの中の2番目のオプションを選択
					objIE.Document.Forms(0).Item("select1").Item(2).Selected = True
					
					'id属性select1のセレクトボックスの中の0番目のオプションを選択
					objIE.Document.All.Item("select1").SelectedIndex = 0
				
                    //先頭のフォームのid属性がradio1を選択
                    objIE.Document.Forms[0].Item["radio1"].Checked = true;

                    //先頭のフォームのid属性がselect1のセレクトボックスの中の3番目のオプションを選択
                    objIE.Document.Forms[0].Item["select1"].Item[2].Selected = true;

                    //id属性がselect1のセレクトボックスの中の0番目のオプションを選択
                    objIE.Document.All.Item["select1"].SelectedIndex = 0;
				
					'先頭のフォームのID属性"radio1"を選択
					objIE.Document.Forms(0).Item("radio1").Checked = True
					
					'先頭のフォームのID属性"select1"のセレクトボックスの中の2番目のオプションを選択
					objIE.Document.Forms(0).Item("select1").Item(2).Selected = True
					
					'ID属性"select1"のセレクトボックスの中の0番目のオプションを選択
					objIE.Document.All.Item("select1").SelectedIndex = 0
				

サンプルコード(WebBrowser時)

					'先頭のフォームのid属性がradio1を選択
					WebBrowser1.Document.Forms(0).All("radio1").SetAttribute("Checked", "True")
					WebBrowser1.Document.Forms(0).All("radio1").SetAttribute("Checked", "")		'解除は空文字
					
					'先頭のフォームのid属性がselect1のセレクトボックスの中の2番目のオプションを選択
					WebBrowser1.Document.Forms(0).All("select1").All(2).SetAttribute("Selected", "True")
					
					'ID属性がselect1のセレクトボックスの中の0番目のオプションを選択
					WebBrowser1.Document.All("select1").SetAttribute("SelectedIndex", "0")
				
                    //先頭のフォームのid属性がradio1を選択
                    webBrowser1.Document.Forms[0].All["radio1"].SetAttribute("Checked", "True");
                    webBrowser1.Document.Forms[0].All["radio1"].SetAttribute("Checked", "");    //解除は空文字

                    //先頭のフォームのid属性がselect1のセレクトボックスの中の2番目のオプションを選択
                    webBrowser1.Document.Forms[0].All["select1"].All[2].SetAttribute("Selected", "True");

                    //id属性select1のセレクトボックスの中の0番目のオプションを選択
                    webBrowser1.Document.All["select1"].SetAttribute("SelectedIndex", "0");
				
					'先頭のフォームのid属性がradio1を選択
					WebBrowser1.Document.forms(0).Item("radio1").Checked = True
					
					'先頭のフォームのid属性がselect1のセレクトボックスの中の2番目のオプションを選択
					WebBrowser1.Document.forms(0).Item("select1").Item(2).Selected = True
					
					'id属性がselect1のセレクトボックスの中の0番目のオプションを選択
					WebBrowser1.Document.All.Item("select1").selectedIndex = 0
				

入力

テキストボックス(INPUTタグ)に文字列を設定します。
入力されている値を参照することも可能です。

サンプルコード(IE操作時)

					objIE.Document.forms("main_frm").Item("login_ID").Value = "login"
					Debug.WriteLine(objIE.Document.forms("main_frm").Item("login_ID").Value)
				
                    objIE.Document.forms["main_frm"].Item["login_ID"].Value = "login";
                    Console.WriteLine(objIE.Document.forms["main_frm"].Item["login_ID"].Value);
				
					objIE.Document.forms("main_frm").Item("login_ID").Value = "login"
					Debug.Print objIE.Document.forms("main_frm").Item("login_ID").Value
				

サンプルコード(WebBrowser時)

					WebBrowser1.Document.Forms("main_frm").All("login_ID").InnerText = "login"
					Debug.WriteLine(WebBrowser1.Document.Forms("main_frm").All("login_ID").InnerText)
				
                    webBrowser1.Document.Forms["main_frm"].All["login_ID"].InnerText = "login";
                    Console.WriteLine(webBrowser1.Document.Forms["main_frm"].All["login_ID"].InnerText);
				
					WebBrowser1.Document.forms("main_frm").Item("login_ID").Value = "login"
					Debug.Print WebBrowser1.Document.forms("main_frm").Item("login_ID").Value
				

Submit

指定したformの内容をsubmit(送信)します。

サンプルコード(IE操作時)

					objIE.Document.Forms(0).Submit()	'0番目のフォームを送信する
				
					objIE.Document.Forms[0].Submit();   //0番目のフォームを送信する
				
					objIE.Document.forms(0).submit	'0番目のフォームを送信する
				

サンプルコード(WebBrowser時)

					WebBrowser1.Document.Forms(0).InvokeMember("submit")		'0番目のフォームを送信する
				
					webBrowser1.Document.Forms[0].InvokeMember("submit");   //0番目のフォームを送信する
				
					WebBrowser.Document.forms(0).submit		'0番目のフォームを送信する
				

WebBrowserでのエレメント操作

VB.NETのWebBrowserでのエレメントアクセスは、基本的にはInternetExplorer操作と同様に

WebBrowser1.Document.~

の形式でアクセスしますが、 一部のアクセス用のメソッド/プロパティが用意されておらず、そのままでは使用できないので、 以下のメソッドを代用して行います。
(VBAのWebBrowserコントロールはCOMコンポーネントであり、IE操作と同一)

setAttribute
書式:setAttribute("属性名" ,"設定値")
エレメントの属性を設定します。
getAttribute
書式:getAttribute("属性名")
エレメントの属性を取り出します。
InvokeMember
書式:InvokeMember("メソッド名")
メソッドを実行します。

ただ、注意として一部の属性はそのままでは使用できないものがあります。
「class」を指定する場合や、「onclick」を指定する場合などです。
対策方法がありますので、以下のサイトを参照ください。
http://www.atmarkit.co.jp/fdotnet/dotnettips/908classname/classname.html http://javascript-memo.seesaa.net/category/2107626-1.html