Office関連

ヘッドレス ChromeをSeleniumBasicで動かしてみました。

Chromeがヘッドレスモードに対応した頃、Seleniumで操作したことがあるのですが(下記記事参照)、SeleniumBasicからの操作も試してみることにします。

準備

下記記事でも書いていますが、SeleniumBasicに同梱されているWebDriverのバージョンは古いので、SeleniumBasicを使用する際は、操作対象となるブラウザーのバージョンに合ったファイル(chromedriver.exe)に差し替える必要があります。

ヘッドレス ChromeをSeleniumBasicで操作するVBAマクロ

以前書いた記事では、.Net用のSeleniumを使い「ChromeOptions」でヘッドレスモードを指定したのですが、SeleniumBasicではChromeOptionsが用意されていないようです。

どうすれば良いのか一瞬迷いましたが、「AddArgument」で普通にヘッドレス用のオプションを指定すれば良いようです。
(オプションの詳細については「ヘッドレス Chrome ことはじめ」参照)

Option Explicit

Public Sub Sample()
  Dim pdf As Object 'Selenium.PdfFile
  
  With CreateObject("Selenium.ChromeDriver")
    'オプションを付けてHeadless Chromeを立ち上げ
    'https://developers.google.com/web/updates/2017/04/headless-chrome?hl=ja 参考
    .AddArgument "--headless --disable-gpu"
    
    .Start
    .Get "https://www.yahoo.co.jp/"
    .FindElementById("srchtxt").SendKeys "あいうえお"
    .FindElementById("srchbtn").Click
    
    'PDFを作成してスクリーンショット貼り付け
    Set pdf = CreateObject("Selenium.PdfFile")
    pdf.SetPageSize 210, 297, "mm"
    pdf.SetMargins 5, 5, 5, 15, "mm"
    pdf.AddImage .TakeScreenshot, True
    pdf.SaveAs "C:\Test\Screenshot.pdf"
    
    .Quit
  End With
  MsgBox "処理が終了しました。", vbInformation + vbSystemModal
End Sub

上記コードは、Yahoo!で検索した結果のスクリーンショットを撮り、PDFファイルとして保存する処理を行いますが、同様の処理はchrome.exeのコマンドラインオプションでも行うことができます。

chrome.exe --headless --disable-gpu --print-to-pdf="C:\Test\Screenshot_CMD.pdf" https://search.yahoo.co.jp/search?p=%E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A

Excelで地理データや株価情報を取得する方法前のページ

[Google Apps Script]CLIツール「clasp」を試してみました。次のページ

関連記事

  1. Office関連

    Office 365 APIをVBAから呼び出す(2)

    前回の記事ではOffice 365とAzure ADの紐づけを行いまし…

  2. Office アドイン

    PowerPoint用のOffice用アプリ

    当ブログでも散々紹介しているOffice用アプリ(apps for O…

  3. Office関連

    Internet Explorerのタブを切り替えるVBAマクロ

    前回の記事でInternet Explorerを操作するVBAマクロを…

  4. Office アドイン

    Office Scriptsってどんな機能?

    昨年の11月、Ignite 2019で発表されたオンライン版Excel…

  5. Windows 10

    続・Microsoft Edgeを操作するVBAマクロ(DOM編)

    以前VBAからMicrosoft Edgeを操作するマクロについて記事…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP