SeleniumBasic AddArgumentメソッドで起動オプション設定

リファレンス

 WebDriverクラス直下のAddArgumentメソッドを利用すれば、Chromeブラウザの起動オプションを利用することができます。いくつか使えそうな起動オプションをピックアップして紹介します。
 起動オプションについては以下のサイトを参考にさせていただきました。

起動オプションをSeleniumBasicで設定する場合は、以下の構文をDriver.Getの前に実行します。

Driver.AddArgument "<起動オプション>"

目次

バックグラウンドでブラウザ起動

 ブラウザをヘッドレスモードで起動させます。バックグラウンドでSeleniumを起動させたい時に便利です。

Private Sub Set_HeadlessMode()
    Dim Driver As New ChromeDriver
    Driver.AddArgument "--headless"
    Driver.Get "https://programan.org"
    Debug.Print Driver.FindElementByPartialLinkText("Programan").Text
    Driver.Wait 1500
    Driver.Quit
End Sub

シークレットモードでブラウザ起動

 ブラウザをシークレットモードで起動させます。操作履歴を残したくない場合に利用します。SeleniumBasicでは毎回一時的にプロファイルを作成していますので、あえてシークレットモードで起動しなくても良いかもしれません。

Private Sub Set_SecretMode()
    Dim Driver As New ChromeDriver
    Driver.AddArgument "--incognito"
    Driver.Get "https://programan.org"
    Driver.Wait 1500
    Driver.Quit
End Sub

画面最大化でブラウザ起動

 起動オプションで事前にブラウザ画面を最大化する様に設定します。SeleniumBasicのWindowクラスでもサイズ最大化できます。

Private Sub Set_WindowMaxiSize()
    Dim Driver As New ChromeDriver
    Driver.AddArgument "--start-maximized"
    Driver.Get "https://programan.org"
    Driver.Wait 1500
    Driver.Quit
End Sub

フルスクリーンモードでブラウザ起動

 フルスクリーンサイズでブラウザを起動させます。

Private Sub Set_WindowFullSize()
    Dim Driver As New ChromeDriver
    Driver.AddArgument "--start-fullscreen"
    Driver.Get "https://programan.org"
    Driver.Wait 1500
    Driver.Quit
End Sub

画面サイズを指定してブラウザ起動

 起動オプションで事前にブラウザ画面を指定します。SeleniumBasicのWindowクラスでもサイズ指定できます。

Private Sub Set_WindowSize()
    Dim Driver As New ChromeDriver
    Driver.AddArgument "--window-size=400,600" '横幅,縦幅
    Driver.Get "https://programan.org"
    Driver.Wait 1500
    Driver.Quit
End Sub

リモートデバッグモードでブラウザ起動

 リモートデバッグモードでブラウザを起動させます。リモートデバッグモードの解説は別途browsers_debugで解説しています。Addrgumentメソッドでもリモートデバッグモードでブラウザを起動することができます。browsers_debugの解説内容と違い、こちらの方法では事前にリモートデバッグモードの起動が不要ですので、使い勝手が良いかと思います。

Private Sub SetRemoteDebug()
    Dim Driver As New ChromeDriver
    Driver.AddArgument "--remote-debugging-port=9222"
    Driver.AddArgument "--user-data-dir=C:\Temp_Chrome"
    'driver.AddArgument "--profile-directory=Profile 1"
    Driver.AddArgument "--profile-directory=Default"
    Driver.Get "https://programan.org"
    Stop
    Driver.Quit
End Sub

既存ブラウザに新ウィンドウを起動

 既存で起動状態のブラウザに対し、新ウィンドウを起動するオプションです。複数ページを起動させたい場合は、ブラウザ指定時に半角スペースを挿入し、URLを指定します。詳しく以下使用例を参照ください。今回は、既存ブラウザを事前にリモートデバッグモードで立ち上げておきます。リモートデバッグモードの立ち上げ方法は、browsers_debugを参照ください。

Private Sub SetNewWindow()
    '事前にリモートデバッグモードでブラウザを起動させておく
    Dim Driver As New ChromeDriver, URL(1) As String
    URL(0) = "https://programan.org"
    URL(1) = "https://ja.wikipedia.org/wiki/メインページ"
    Driver.AddArgument "--remote-debugging-port=9222"
    Driver.AddArgument "--user-data-dir=C:\Temp_Chrome"
    Driver.AddArgument "--new-window" & " " & URL(0) & " " & URL(1)
    Driver.Start
    Stop
    Driver.Quit
End Sub

プロキシサーバの指定

 プロキシサーバを指定し、ブラウザを起動させます。Driverクラスのオプションで起動させる訳ではないので、Capabilitiesクラス内のproxy項目では情報取得できません。

Private Sub Proxy_Addargument()
    Dim Driver As New ChromeDriver
    Const ProxyUrl As String = "<ホスト名>:<ポート番号>"
    Driver.AddArgument "--proxy-server=" & ProxyUrl
    Driver.Get "https://programan.org/"
    Stop
    Driver.Quit
End Sub

プロファイル指定でブラウザを起動

 プロファイルを指定してブラウザを起動させます。指定対象のプロファイルでブラウザが起動中の場合、一度ブラウザを閉じていただく必要があります。プロファイル指定のブラウザ起動方法について詳しくは、browsers_profileを参照ください。

Private Sub SetProfile()
    '事前に既存ブラウザを閉じておく
    Dim Driver As New ChromeDriver
    Driver.AddArgument "--disable-extensions"
    'driver.AddArgument "--profile-directory=Profile 1"
    Driver.AddArgument "--user-data-dir=C:\Users\shoji\AppData\Local\Google\Chrome\User Data"
    Driver.AddArgument "--profile-directory=Default"
    Driver.Get "https://programan.org/"
    Stop
    Driver.Quit
End Sub

ダミーユーザエージェントの利用

 ダミーユーザエージェントを利用し、ブラウザを起動します。以下使用例では、Firefoxのユーザエージェント情報に設定し、ブラウザを起動させています。ユーザエージェント情報は、chrome://versionにて確認ができます。

Private Sub Set_DummyAgent()
    'ユーザーエージェントをFirefoxに指定
    Dim Driver As New ChromeDriver
    Driver.AddArgument "--user-agent=" & "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0"
    Driver.Get "https://google.co.jp"
    Driver.Wait 2000
    Driver.Get "chrome://version"
    Stop
    Driver.Quit
End Sub

言語選択

 ブラウザの言語を起動オプションで指定できます。

Private Sub Set_Language()
    Dim Driver As New ChromeDriver
    Driver.AddArgument "--lang=en"
    Driver.Get "https://programan.org/"
    Stop
    Driver.Quit
End Sub
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

VBAを中心とした自動化、効率化の手法を紹介しています。現在は、SeleniumBasicのexamplesを紹介しています。その内、SeleniumBasic以外の手法も掲載したいと思っております。

目次