タイトル通り、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を立ち上げて
とすることができるのでさほど難しいことではありません。
例としてdownload.default_directory
(ダウンロード先フォルダを指定)・download.prompt_for_download(ダウンロード先フォルダを訪ねるダイアログの抑止)あたりを指定してみます。
{
chromeOptions: {
prefs: {
download.default_directory: "/var/tmp",
download.prompt_for_download: false
}
}
}
あとはこれを各言語において適切な構造・型で表現したものをDriverに渡すことになります。