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

    [Excel Services ECMAScript]選択範囲が変更されたときのイベントを利用する。…

    埋め込んだExcelワークブックの、選択範囲が変更されたときのイベント…

  2. Office関連

    選択中の図形の文字列を蛍光ペンでハイライトするPowerPointマクロ

    MSDNフォーラムに「PowerPoint 2016で、マクロで選択中…

  3. アイコン一覧

    Office 365アイコン(imageMso)一覧(G)

    Office 365のデスクトップ版Officeアプリケーション(Wo…

  4. アイコン一覧

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

    ・Office 2013 アイコン一覧 NUM…

  5. Office関連

    テーブルの罫線色情報を列挙するPowerPointマクロ

    テーブルが多いプレゼンテーションファイルの、各テーブルの線の色の情報を…

  6. Office関連

    [Office VBA]リボンのカスタマイズ環境の紹介

    Office開発に携われている方ならご存じの方も多いと思いますが、Of…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP