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関連

    Microsoft MVP for Outlook を初受賞しました。

    2010年7月から「Office System」分野でMicrosof…

  2. Office関連

    ZIP形式で圧縮・解凍を行うVBAマクロ

    この記事のように、処理の中でZIP形式のファイルを扱うことはありました…

  3. Office アドイン

    Office 用アプリはソースコードが丸見え!?

    サーバーサイドの処理はともかくとして、Officeドキュメントにアクセ…

  4. Office関連

    関数一覧(Excel 2013 Customer Preview)

    関数の挿入ダイアログから抽出したExcel 2013 Customer…

  5. Office関連

    アラビア文字かどうかを判別するWordマクロ

    以前mougの質問用に書いたコードが出てきたので、一部修正しました。…

  6. Office関連

    サジェスト機能を利用したWord用ツール

    「Webサービスのサジェスト機能についてまとめてみました。」でWebサ…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP