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

    Computer Vision APIを使って画像から文字列を取得するVBAマクロ

    前々回の記事で、Fiddlerを使ってMicrosoft Cognit…

  2. Office関連

    PDFのしおり情報を出力するVBAマクロ

    Acrobatフォーラムの下記スレッドで当ブログへのリンクが貼られてい…

  3. アイコン一覧

    Office 2013 アイコン一覧(X,Y,Z)

    ・Office 2013 アイコン一覧 NUM…

  4. Office関連

    受信メールに対して自動的に返信するOutlookマクロ

    「Outlook VBA 自動返信」といったキーワード検索でのアクセス…

  5. Office関連

    VBAプロジェクトを「展開する」VBAマクロ

    MSDNフォーラムに面白い質問がありました。VBE・プロジェクト …

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP