Selenium(Edge/Chrome)

Chrome/EdgeでJavaScript使用し、画面スクロールさせる【Selenium】【ExcelVBA】

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でのネット記事は少なく困っている方も多いと思います。
弊社で代行開発も可能ですので、お気軽にご用命ください。

コメント

タイトルとURLをコピーしました