Selenium(Edge/Chrome)

Chromeで起動しているブラウザを操作する【Selenium】【ExcelVBA】

IE自動操作の場合、起動しているブラウザをShell関数で捕まえなおすといったことはできましたが、
Seleniumの場合はそういうことはできません。

少し処理させれば起動しているブラウザを処理可能ですが、汎用性があるわけではありません。

Chromeで現在表示しているブラウザを操作するサンプルコード

Dim driver As New Selenium.WebDriver

Public Sub sample()

    '■事前にコマンドライン引数 -remote-debugging-port=9222を指定したショートカット作成しておく。
    '"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir="C:/Users/User/AppData/Local/Google/Chrome/User Data"
    '■
   driver.SetCapability "debuggerAddress", "127.0.0.1:9222"
   driver.Start "chrome"
   driver.Get "https://vba-create.jp/"

End Sub


注意点

  • この設定をするとdriver.Start "chrome"だけでは動作しなくなります。
  • 事前にChromeを立ち上げていないと、エラー発生します。(新規で立ち上げてくれることはありません)
  • user-data-dir="C:/Users/User/AppData/Local/Google/Chrome/User Data"は使用者によって異なります。tempフォルダ作成し、そちらを指定しても構いません。

SeleniumBasicについて

Internet Explorer11 のサポート期限が2022年6月までと、スクレイピング自体入れ替えていく必要があります。
今一番スムーズなのはSeleniumBasicを使用したスクレイピングと考えます。

但し、VBAでのネット記事は少なく困っている方も多いと思います。
弊社で代行開発も可能ですので、お気軽にご用命ください。

コメント

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