ブラウザを起動するためのコマンドラインに付加する引数を追加します。WebDriver.Start メソッドでブラウザを起動するよりも前に記述します。
- 構文
- WebDriver.AddArgument( argument )
- 引数
- argument (String)省略可
- コマンドラインに付加する引数
- 戻り値
使い方
バックグラウンドで起動、操作
コマンドライン引数に--headlessを指定し、ブラウザをベッドレスモードで起動します。
https://yahoo.co.jpを開きタイトルを出力します。画面には表示されませんが、処理は正常に行われます。
DIM WebDriver = CREATEOLEOBJ("Selenium.WebDriver")
WITH WebDriver
.AddArgument("--headless")
.Start("chrome")
.Get("https://yahoo.co.jp")
PRINT .Title
.Wait(5000)
.Quit
ENDWITH
シークレットモードで開く
コマンドライン引数に--incognitoを指定しhttps://yahoo.co.jpをChromeのシークレットモードで開きます。
DIM WebDriver = CREATEOLEOBJ("Selenium.WebDriver")
WITH WebDriver
.AddArgument("--incognito")
.Start("chrome")
.Get("https://yahoo.co.jp")
.Wait(5000)
ENDWITH
画面最大化で起動
コマンドライン引数に--start-maximizedを指定し、画面最大化でブラウザを起動します。
DIM WebDriver = CREATEOLEOBJ("Selenium.WebDriver")
WITH WebDriver
.AddArgument("--start-maximized")
.Start("chrome")
.Get("https://yahoo.co.jp")
.Wait(5000)
.Quit
ENDWITH
フルスクリーンモードで起動
コマンドライン引数に--start-fullscreenを指定し、フルスクリーンモードで起動します。
DIM WebDriver = CREATEOLEOBJ("Selenium.WebDriver")
WITH WebDriver
.AddArgument("--start-fullscreen")
.Start("chrome")
.Get("https://yahoo.co.jp")
.Wait(5000)
.Quit
ENDWITH
ウィンドウの位置とサイズを指定
コマンドライン引数に--window-positionで位置、--window-sizeでサイズを指定しブラウザを起動します。
DIM WebDriver = CREATEOLEOBJ("Selenium.WebDriver")
WITH WebDriver
.AddArgument("--window-position=0,0")
.AddArgument("--window-size=200,600")
.Start("chrome")
.Get("https://yahoo.co.jp")
.Wait(5000)
.Quit
ENDWITH
プロファイルを指定
コマンドライン引数にuser-data-dirとプロファイルのパスを指定して起動します。
ブラウザのログイン情報を利用できます。
Chromeの場合、ブラウザのアドレスバーでchrome://versionを開きのバージョン情報のプロフィール パスに記載されているパスを指定します。パス最後のDefaultは必要ありません。
DIM WebDriver = CREATEOLEOBJ("Selenium.WebDriver")
CONST PROFILE_PATH = "C:\Users\username\AppData\Local\Google\Chrome\User Data\"
WITH WebDriver
.AddArgument("user-data-dir=" + PROFILE_PATH)
.Start("chrome")
.Wait(5000)
ENDWITH
ユーザーエージェントを書き換える
ユーザーエージェントをスマートフォン(Xperia 1 IV SOG06)に書き換えて、アプリモードでhttps://yahoo.co.jpを開きます。
ウィンドウの位置は(x,y)=(0,0)、サイズは(幅,高さ)=(432,768)にします。
DIM WebDriver = CREATEOLEOBJ("Selenium.WebDriver")
WITH WebDriver
.AddArgument("--window-position=0,0")
.AddArgument("--window-size=432,768")
.AddArgument("--user-agent='Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Mobile Safari/537.36'")
.AddArgument("--app=https://yahoo.co.jp")
.Start("chrome")
.Wait(5000)
ENDWITH
ブラウザ毎のプロファイルパスの場所
Chrome
chrome://version
C:\Users\username\AppData\Local\Google\Chrome\User Data\
最後のDefaultは不要です。
Firefox
about:profiles
C:\Users\username\AppData\Roaming\Mozilla\Firefox\Profiles\
必要なのはProfiles以前の共通している部分のみです。
Microsoft Edge
edge://version
C:\Users\username\AppData\Local\Microsoft\Edge\User Data\
最後のDefaultは不要です。
適用している起動オプションの確認方法
ブラウザのアドレスに以下を指定しバージョン情報のユーザーエージェント・コマンドラインの項目で確認できます。
chrome://version
ユーザーエージェント
ユーザーエージェントとは、インターネットを閲覧しているユーザーのデバイス・OS・ブラウザなどの情報を文字列にしたものです。厳密に決まっているわけではありませんが、以下のような書式で表されます。
User-Agent: <product> / <product-version> <comment> (<system-information>) <platform> (<platform-details>) <extensions>
- product
- プロダクト情報
- product-version
- プロダクトのバージョン情報
- comment
- サブプロダクト情報があれば表示されます
- system-information
- OSなどのシステム情報
- platform
- プラットフォーム情報
- platform-details
- プラットフォーム詳細情報
- extensions
- その他の情報
以下は現在アクセスしているユーザーエージェントの情報です。デバイスやブラウザによって表示される内容は変わります。
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
コマンド一覧
Chromeで使えるコマンドの一覧です。< >内は必要に応じて値を書き換えてください。また"は特殊文字なので'(シングルクォーテーション)または<#DBL>に書き換える必要があります。
WebDriver.AddArgument("--user-agent='Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Mobile Safari/537.36'")
WebDriver.AddArgument("--user-agent=<#DBL>Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Mobile Safari/537.36<#DBL>")
A
- --allow-file-access-from-files
- デフォルトでは禁止されている、file:// URIからの他のfile:// URIの読み込みを許可します。
- --allow-outdated-plugins
- 古いプラグインの実行を許可します。プラグインを読み込む前に表示される黄色い情報バーが表示されないようになります。
- --always-authorize-plugins
- 全てのプラグインを認証済みとして自動実行を許可します。一部のプラグイン(Shockwave、Java、QuickTimeなど)を実行する前に表示される黄色い情報バーの表示を抑制します。
- --allow-scripting-gallery
- 公式拡張機能ギャラリーにおいて、拡張機能やユーザースクリプトによるスクリプトの実行を許可します。
- --app=<URL>
- 指定したURLをアプリモードで起動します。
- --app-launcher-new-tab
- App Launcherを表示します。
- --apps-debug
- Debugメニューを表示します。
- --apps-gallery-title
- --apps-gallery-url
- --apps-panel
- --apps-no-throb
- --auth-schemes=<認証スキーム>
- 指定したHTTP認証スキームのみを有効にします。指定できるスキームはbasic/digest/ntlm/negotiateで、複数を指定する場合はコンマ(,)で区切ります。
デフォルトでは、すべてのスキームが有効になっています。
B
- --bookmark-menu(廃止)
- アドレスバーにブックマーク・メニューを追加します。
- --check-for-update-interval=<数値>
- Google Chromeがバックグラウンドで自動更新されているかをチェックする間隔を変更します。単位は秒です。
- --conflicting-modules-check
- 読み込まれるモジュールのチェックを行い、既知の問題を引き起こすモジュールがあればユーザーに通知します。
※about:conflicts または chrome://conflicts/ のページで詳細を確認できます。
D
- --diagnostics
- 自己診断モードで起動します。システム環境とユーザプロファイルのチェックが行われます。
- --disable-accelerated-2d-canvas
- バージョン13.0.775.0以降ではデフォルトで有効になっているGPU アクセラレート キャンバス 2Dを無効にします。
- --disable-accelerated-compositing
- Accelerated Compositingを無効にします。このオプションは --enable-accelerated-layers よりも優先されます。
GPU Accelerated Canvas 2Dも同時に無効化されます。(WebGLを除くすべてのGPUアクセラレーションが無効化されます) - --disable-accelerated-layers
- GPU アクセラレート合成機能を無効にする
- --disable-accelerated-video
- 開発版のバージョン10.0.634.0以降ではデフォルトで有効になっている“HTML5の<video>要素に対するGPUアクセラレーション(色空間変換とスケーリングに利用)”を無効にします。
- --disable-application-cache
- HTML5のApplication Cacheを無効にします。
- --disable-background-mode
- バックグラウンドモードを無効にします。
- --disable-content-prefetch
- Link prefetchingを無効にします。
- --disable-custom-jumplist
- Windows 7においてカスタムジャンプリスト(「よくアクセスするページ」と「最近閉じたタブ」のセクション)を無効にします。
- --disable-databases
- HTML5のデータベースサポートを無効にします。
- --disable-desktop-notifications
- デスクトップ通知を無効にします。Webページに対して非対応のブラウザとして振舞います。
- --disable-dev-tools
- デベロッパーツールを無効にします。
- --disable-extensions
- すべての拡張機能を無効にします(バージョン4.0以降)。
- --disable-flash-sandbox
- Flashプラグインにおいてデフォルトで有効になっているSandbox化を無効にします。
- --disable-geolocation
- Geolocation APIを無効にします。
- --disable-hang-monitor
- 「ページ応答無し」のダイアログの表示を抑制します。
- --disable-images
- 画像のロードを無効にします。
- --disable-internal-flash
- バンドルされたAdobe Flash Playerプラグインを無効にします。
- --disable-ipv6
- IPv6サポートを無効にします。
- --disable-java
- Javaを無効にします。
- --disable-javascript
- JavaScriptを無効にします。
- --disable-local-storage
- Local Storageを無効にします。
- --disable-logging
- ログ出力を無効にします。
- --disable-metrics
- --disable-metrics-reporting
- --disable-plugins
- プラグインを無効にします。
- --disable-print-preview
- バージョン13.0より導入された「印刷プレビュー」を無効にします。
- --disable-popup-blocking
- ポップアップブロックを無効にします。
- --disable-preconnect
- Speculative TCP Preconnectionを無効にします。
- --disable-prompt-on-repost
- 「フォーム再送信の確認」のダイアログの表示を抑制します。
- --disable-remote-fonts
- リモートWebフォントのサポートを無効にします。 ※SVGフォントは常に有効なままです。
- --disable-sync
- ブラウザデータの同期機能を無効にします。
- --disable-sync-autofill
- 自動入力の同期のみを無効にします。
- --disable-sync-bookmarks
- ブックマークの同期のみを無効にします。
- --disable-sync-extension
- 拡張機能の同期のみを無効にします。
- --disable-sync-preferences
- 設定データの同期のみを無効にします。
- --disable-sync-themes
- テーマの同期のみを無効にします。
- --disable-tabbed-bookmark-manager
- タブ化ブックマークマネージャを従来のものに戻します。
- --disable-tabbed-options
- タブで開く設定ページ(「タブで設定」)を従来のダイアログ型のものに戻します。
- --disable-webgl
- バージョン9.0以降ではデフォルトで有効になっているWebGLを無効にします。
- --disk-cache-dir="<ディレクトリ>"
- ディスクキャッシュフォルダの場所を変更します。
- --disk-cache-size=<バイト>
- ディスクキャッシュの容量を指定します。
- --dns-prefetch-disable
- DNSプリフェッチを無効にします。
- --dump-histograms-on-exit
E
- --enable-accelerated-2d-canvas
- Canvas 2D(W3C)のアクセラレーション(GPU Accelerated Canvas 2D)を有効にします。
- --enable-accelerated-compositing(廃止)
- Accelerated Compositingを有効にします。
- --enable-accelerated-layers
- Accelerated Compositorを3D CSS、ビデオ、プラグイン、アニメーションに対して有効にします。
- --enable-accelerated-plugins
- PPAPI 3Dを実装したプラグイン(NaClおよび内蔵Flash)に対してハードウェアアクセラレーション(Compositing)を有効にします。
- --enable-aero-peek-tabs
- AeroPeekを有効にします。
- --enable-apps
- --enable-click-to-play
- --enable-databases
- --enable-easy-off-store-extension-install
- 公式ギャラリー(Chrome ウェブストア)以外からの拡張機能およびユーザースクリプトの(従来通りの)簡単なインストールを有効にします。
- --enable-experimental-extension-apis
- --enable-extensions
- Extension(エクステンション)を有効にします。
- --enable-extension-toolstrips(廃止)
- デフォルトでは非表示になったToolstrip(Extension shelf)を表示させます。
- --enable-fastback
- キャッシュを使って戻ります。
- --enable-geolocation
- Geolocation APIを有効化します。
- --enable-gview
- オフィスドキュメントをGoogle Document Viewerで開きます。
- --enable-internal-flash
- 内蔵したAdobe Flash Playerプラグインを有効にします。
- --enable-local-storage
- --enable-logging
- ログ出力を有効にします。ログファイルは、Chrome\Application\chrome_debug.log です。
- --enable-nacl
- NaClを有効にします。
- --enable-remote-fonts
- Webフォントを有効にします。
- --enable-session-storage
- --enable-sync
- ブックマークの同期を有効にします。Googleドキュメント経由。
- --enable-sync-extensions
- 同期のカスタマイズに拡張機能を追加します。
- --enable-tabbed-options
- オプションをタブ化します。
- --enable-udd-profiles(廃止)
- マルチプロフィール機能を有効化します。
- --enable-user-scripts(廃止)
- ユーザースクリプトを有効にします。
- --enable-user-stylesheet
- ユーザースタイルシートを有効にします。
- --enable-vertical-tabs
- Side Tabsを有効化します。通常はウィンドウ上部に表示されているタブバーをウィンドウ左側に縦に並べて表示します。非Aero環境およびテーマを適用した状態では正しく表示されません。
- --enable-webgl
- WebGLを有効にします。
- --enable-xss-auditor
- XSS検出機能を有効にします。
- --extensions-update-frequency=<秒>
- 拡張機能の自動更新の間隔を変更します。
- --extra-plugin-dir="<ディレクトリ>"
- 指定したディレクトリのプラグインを読み込みます。
F
- --force-compositing-mode
- Accelerated Compositing(アクセラレート合成)が使用可能な場合、必ずしもCompositingが必要ではないページにおいてもCompositingモードを強制的に使用します。
G
- --guest
- ゲストモード
- --gpu-startup-dialog
- GPUプロセスが起動するときにダイアログを表示させます。
H
- --headless
- 非表示
- --homepage=<URL>
- ホームページを一時的に変更します。
I
- --ignore-certificate-errors
- SSLセキュリティ証明書のエラーページ(「このサイトのセキュリティ証明書は信頼できません」のページ)を表示しません。
- --ignore-gpu-blacklist
- ブラックリスト(ソフトウェアレンダリングリスト)を無視してGPUアクセラレーションを動作させます。
- --in-process-plugins
- プラグインをレンダラ(タブ描画)プロセスの中で動作させる
- --incognito
- シークレットモードで起動します。
K
- --kiosk
- Kioskモードで起動します。F11キーでの全画面表示とほぼ同じ表示となります。Mac版では利用できません。
L
- --lang=<言語>
- ブラウザのインターフェース言語を切り替えます。Webページの表示フォントやHTTP_ACCEPT_CHARSETなども指定した言語の既定値へ一時的に変更されます。
- --load-extension="<ディレクトリ>"
- ロードするエクステンションを指定します。
- --log-level=<数字>
- ログ出力の種別を変更します。
M
- --make-default-browser
- 既定のブラウザに設定します。
- --media-cache-size=<バイト>
- メディアキャッシュの容量を指定します。
N
- --new-tab-page
- バージョン15で導入された新しい「新しいタブ」ページ(コード名:NTP4)を以前のもの(NTP3)に戻します。
- --new-window
- ChromeにURLを渡して開くときに、既存のウィンドウの新しいタブで開くのではなく新しいウィンドウで開きます。
- --new-wrench-menu
- レンチメニューとページメニューを統合します。
- --no-experiments
- about:flagsページで有効化した機能を無効にします。
- --no-referrers
- リファラの送信を抑制します。
- --no-sandbox
- サンドボックスを無効にします。
- --no-startup-window
- 起動時にchromeウインドウが開かれず、タスクトレイに格納されます。
バックグラウンド属性のアドオンのみを動かしたい時などに用いられます。 - --noerrdialogs
- エラーダイアログをすべて抑制します。
O
- --old-new-tab-page(廃止)
- 「新しいタブのページ」を従来の版と同等のものにします。
- --omnibox-popup-count=<数字>
- アドレスバーのドロップダウンで表示されるサジェスチョンの数を設定します。
P
- --password-store=<パスワードストア>
- Linux版において、パスワードの保存先を指定します。指定できる引数は detect(自動検出)、basic(ユーザプロファイル内設定ファイル)、gnome(GNOME Keyring)、kwallet(KWallet)のいずれか一つです。
- --process-per-site
- サイトごと(ドメイン)にプロセスを生成します。(初期設定)
- --process-per-tab
- タブごとにプロセスを生成します。
- --profile-directory=<マルチアカウント別ユーザーデータフォルダの場所>
- マルチアカウントの中の、指定したアカウントで起動できる様にするオプションです。
- --proxy-server="<アドレス>:<ポート>"
- プロキシを指定します。
- --purge-memory-button
- タスクマネージャにメモリ消去ボタンを追加します。
R
- --renderer-process-limit=<数値>
- レンダラ(タブ描画)プロセス数を制限します。
- --restore-last-session
- 前回終了時に開いていたタブ・ウィンドウを起動時に復元します。起動時に開くページの設定([オプション] > [基本設定] > [起動時])は無視されます。
S
- --safe-plugins
- プラグインプロセスをSandboxの中で動作させます。
- --sage-plugins
- プラグインプロセスをSandboxの中で動作させる
- --show-composited-layer-borders
- Accelerated Compositing有効時に描画レイヤーの境界を表示します。--enable-accelerated-compositingと組み合わせて使用します。デバッグ・調査用です。
- --show-extension-s-on-top
- Toolstripをブックマークバーの左に表示します。
- --show-extensions-on-top(廃止)
- Toolstripに表示されている拡張機能をブックマークバーに統合します。
- --single-process
- タブ・サイトごとのマルチプロセスではなく、シングルプロセスにします。
- --start-fullscreen
- 起動時にウインドウを全画面表示します。F11キーでの全画面表示と同じ表示となります。
- --start-maximized
- 起動時にウィンドウを最大化します。
- --sync-url=<アドレス>
U
- --uninstall
- アンインストールします。
- --uninstall-extension=<拡張機能のID>
- 指定したIDの拡張機能をアンインストールします。
- --user-agent="<ユーザーエージェント>"
- ユーザーエージェントを偽装します。ユーザーエージェント参照。
- --user-data-dir="<ディレクトリ>"
- ユーザーデータフォルダの保存場所を変える
--user-data-dir="User Data"でインストールフォルダ
W
- --window-position=<x>,<y>
- ウィンドウの位置を設定します。
- --window-size=<幅>,<高さ>
- ウィンドウのサイズを設定します。
プログラム実行例
Twitterをアプリモードで起動(Chrome)
Twitterをアプリモードで起動します。
DIM WebDriver = CREATEOLEOBJ("Selenium.WebDriver")
WITH WebDriver
.AddArgument("--app=https://twitter.com")
.Start("chrome")
.Wait(10000)
ENDWITH
Twitterをアプリモード・ユーザーエージェントをスマホにして起動(Chrome)
起動オプションを追加して起動します。起動オプションを複数指定する場合は、AddArgumentを繰り返し実行します。
DIM WebDriver = CREATEOLEOBJ("Selenium.WebDriver")
WITH WebDriver
.AddArgument("--app=https://twitter.com")
.AddArgument("--user-agent='Mozilla/5.0 (Linux; Android 13; SOG06) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Mobile Safari/537.36'")
.AddArgument("--window-position=0,0")
.AddArgument("--window-size=432,768")
.Start("chrome")
.Wait(10000)
ENDWITH
参考文献
- Google Chrome 起動オプション 一覧 - Windows & IT
- 起動オプション - Google Chrome まとめWiki
- https://sites.google.com/site/thesubstituteformemo/Home/google-chrome-chromium/kidou-opushon
- デスクトップ版「Google Chrome」に“ゲスト モード”で起動するオプションが追加 - 窓の杜
- Chromeを起動したときに表示されるウィンドウの位置と大きさを指定する方法: バッキーの日々是爆食
- Chromeを非表示で操作する【headless】【Selenium】【ExcelVBA】 | VBA Create
- Google Chrome 5の新機能とChrome 6の計画 | gihyo.jp
- userAgent一覧/ユーザーエージェント一覧
- Android(TM) 技術情報 | 開発者向け技術情報 | au
- 機種情報一覧
- 機種情報一覧
- 開発者向け情報 | サービス・機能 | NTTドコモ
- Mobile Creation | ソフトバンク