Selenium(Edge/Chrome)

Edgeを非表示で操作する【headless】【Selenium】【ExcelVBA】

VBAでEdgeを起動し、ブラウザを非表示にして操作する事も可能です。
SetCapabilityheadlessを指定します。

ブラウザを非表示にして自動操作するサンプルコード

Dim driver As New Selenium.WebDriver
 
'■Edgeでブラウザ表示を非表示にして操作する
Public Sub sample()
 
    '■ブラウザ表示を非表示にする
    driver.SetCapability "ms:edgeOptions", "{""args"": [""headless""] }"
     
    '■ブラウザを起動
    driver.Start "edge"
    driver.Get "https://vba-create.jp/"
    
    '■裏で起動(バックグラウンドで起動)できているのでソースを取得可能。
    Debug.Print driver.PageSource
  
End Sub

注意点

  • 他の作業の邪魔にならないようにしたい場合はお勧めです。
  • 画面表示がないので、PCへの負荷は減ります。
  • 画面表示がなくてもスクリーンショットの取得は可能です。

関連記事

SeleniumBasicについて

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

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

コメント

  1. このソースの通りにheadlessモードにすると、環境によって実行時エラー'13' UnknownErrorが出るのですが、原因分かりますでしょうか。同じようなスペックのPCでも成功するPCと失敗するPCがあり、原因がわかりません。

    • 有償にて対応致します。問い合わせから、お問い合わせください。

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