WebBrower(.NET) 応用テクニック

画面の情報を取得する&画面をスクロールする

Webページのサイズや、表示している画面のサイズ、画面スクロールの位置の取得方法です。
また、表示中の画面をスクロールさせる方法です。

WebBrowserコントロール使用時

						'下記コードの動作確認はテストページ(https://web.biz-prog.net/test/testpage_scroll.html)を使っています

						'WebBorwserコントロールの画面情報を表示する
						MessageBox.Show("WebBrowserコントロールのサイズ" & webBrowser1.ClientSize.ToString())
				
						'Web画面の情報を取得する
						MessageBox.Show("Webページのhtml部分のサイズ 幅:" & webBrowser1.Document.GetElementsByTagName("html")(0).GetAttribute("scrollWidth") & " 高さ:" & webBrowser1.Document.GetElementsByTagName("html")(0).GetAttribute("scrollHeight"))
						MessageBox.Show("Webページのbody部分のサイズ " & webBrowser1.Document.Body.ScrollRectangle.ToString())
						MessageBox.Show("スクロール量 X:" & webBrowser1.Document.GetElementsByTagName("html")(0).ScrollLeft & " Y:" & webBrowser1.Document.GetElementsByTagName("html")(0).ScrollTop)
						MessageBox.Show("スクロール量 X:" & DirectCast(DirectCast(webBrowser1.Document.DomDocument, MSHTML.IHTMLDocument3).documentElement, MSHTML.IHTMLElement2).scrollLeft & " Y:" & DirectCast(DirectCast(webBrowser1.Document.DomDocument, MSHTML.IHTMLDocument3).documentElement, MSHTML.IHTMLElement2).scrollTop)
				
						'画面スクロール
						webBrowser1.Document.Window.ScrollTo(100, 100) '座標100,100にスクロールさせる
					
						//下記コードの動作確認はテストページ(https://web.biz-prog.net/test/testpage_scroll.html)を使っています

						//WebBorwserコントロールの画面情報を表示する
						MessageBox.Show("WebBrowserコントロールのサイズ" + webBrowser1.ClientSize.ToString());
			
						//Web画面の情報を取得する
						MessageBox.Show("Webページのhtml部分のサイズ 幅:" + webBrowser1.Document.GetElementsByTagName("html")[0].GetAttribute("scrollWidth") + " 高さ:" + webBrowser1.Document.GetElementsByTagName("html")[0].GetAttribute("scrollHeight"));
						MessageBox.Show("Webページのbody部分のサイズ " + webBrowser1.Document.Body.ScrollRectangle.ToString());
						MessageBox.Show("スクロール量 X:" + webBrowser1.Document.GetElementsByTagName("html")[0].ScrollLeft + " Y:" + webBrowser1.Document.GetElementsByTagName("html")[0].ScrollTop);
						MessageBox.Show("スクロール量 X:" + ((webBrowser1.Document.DomDocument as MSHTML.IHTMLDocument3).documentElement as MSHTML.IHTMLElement2).scrollLeft + " Y:" + ((webBrowser1.Document.DomDocument as MSHTML.IHTMLDocument3).documentElement as MSHTML.IHTMLElement2).scrollTop);
			
						//画面スクロール
						webBrowser1.Document.Window.ScrollTo(100, 100); //座標100,100にスクロールさせる
					

					

参考