タイトル通り、ChromeDriverでのCapabilitiesの指定方法を見ていきます。 公式サイトはここです。 https://sites.google.com/a/chromium.org/chromedriver/
これがまた、具体的にどうしたらいいのかわかりづらいのです…。
ChromeDriver向けのCapabilitiesはまずchromeOptionsというキーの連想配列です。
{
chromeOptions: {}
}
chromeOptionsの内容は次のような構造になっています。
{
chromeOptions: {
args: [],
prefs: {}
}
}
今回はargs・prefsだけを挙げていますが、他にもあります。 一覧が公式リファレンスにあります。 https://sites.google.com/a/chromium.org/chromedriver/capabilities#TOC-chromeOptions-object
まずargsは何かというと、Chromeに対する起動オプションです。 コマンドラインから起動する場合に “–xxxx” などと指定するやつですね。 https://www.chromium.org/developers/how-tos/run-chromium-with-flags
これまたかなりの数あるわけですが、 “incognito” などはそこそこ使うのではないでしょうか。「シークレットウインドウで起動」ですね。 chromeOptionsの指定としては次のような形になります。
{
chromeOptions: {
args: ["incognito"]
}
}
次にprefsは何かというと、Chromeの設定画面の項目です。 実際の設定画面の項目をリストしたものがパっと見つからないのですが、Chromeを立ち上げて
設定画面の該当項目を右クリック
検証を選択
Elementsタブからフォーム要素名を視認
とすることができるのでさほど難しいことではありません。
例としてdownload.default_directory(ダウンロード先フォルダを指定)・download.prompt_for_download(ダウンロード先フォルダを訪ねるダイアログの抑止)あたりを指定してみます。
{
chromeOptions: {
prefs: {
download.default_directory: "/var/tmp",
download.prompt_for_download: false
}
}
}
あとはこれを各言語において適切な構造・型で表現したものをDriverに渡すことになります。