Chrome/Edgeで画面スクロールしたい
Excel VBAマクロでブラウザを自動制御する際、ブラウザ画面をスクロールさせることも可能です。
Twitter等の画面下部に移動する事で、ページを読み込むようなサイトでは効果的です。
Chrome/Edgeで画面スクロールするサンプルコード
Dim driver As New Selenium.WebDriver '■Edge/Chromeでブラウザ画面をキャプチャする Public Sub sample() '■ブラウザを起動 driver.start "chrome" driver.Get "https://vba-create.jp/" '■JavaScriptで自動スクロールさせる(座標x0,y100に移動)絶対値で移動 driver.ExecuteScript "window.scrollTo(0, 100);" '■JavaScriptで自動スクロールさせる(座標x0,y200に移動)相対値で移動 driver.ExecuteScript "window.scrollBy(0, 100);" '■JavaScriptで自動スクロールさせる(座標x0,y最下層に移動) driver.ExecuteScript "window.scrollTo(0, document.body.scrollHeight);" End Sub
注意点
- 座標で移動するのではなく、指定要素まで移動する場合はこちらを参照ください。
- 詳しく理解しようと思うと、JavaScriptの詳細をお調べください。
- JavaScript「scrollTo」で座標を移動させます。(絶対値で移動)
- JavaScript「scrollBy」で座標を移動させます。(相対値で移動)
SeleniumBasicについて
Internet Explorer11 のサポート期限が2022年6月までと、スクレイピング自体入れ替えていく必要があります。
今一番スムーズなのはSeleniumBasicを使用したスクレイピングと考えます。
但し、VBAでのネット記事は少なく困っている方も多いと思います。
弊社で代行開発も可能ですので、お気軽にご用命ください。
コメント