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にスクロールさせる
参考