m's blog

備忘録とかメモとか

【Selenium】docker-seleniumでユーザデータを永続化してみる!【Chrome】

【Selenium】docker-seleniumでユーザデータを永続化してみる!【For Chrome】

今回は、docker-seleniumでユーザデータを永続化する方法 を紹介したいと思います。

目次

セットアップ

今回は、selenium/standalone-chrome-debug:3.141.59-20200525イメージを使用して試して行きたいと思います。

selenium/standalone-chrome-debug:3.141.59-20200525イメージの場合だと、ユーザデータは/home/seluser/.config/google-chromeにあります

Docker Composeを使う場合は、このディレクトリをvolumesでマウントしておけば、データが永続化されます。

version: '3'
services:
  chrome:
    image: selenium/standalone-chrome-debug:3.141.59-20200525
    user: root
    volumes:
      - /dev/shm:/dev/shm
      - /.config/google-chrome:/home/seluser/.config/google-chrome
    ports:
      - "5900:5900"

デフォルトユーザだと、ファイルへのアクセス権限まわりでエラーがでるので、ユーザはrootに設定しています。

動作確認用にstandalone-chrome-debugイメージを使用し、5900ポートだけあけています。

実際に試してみる!

docker-compose.ymlを追加したディレクトリへ移動して、以下のコマンドを実行してください。

docker-compose up -d

VNCクライアントツールなどでlocalhost:5900にアクセスする事ができます。

途中パスワードの入力が求められた場合は 初期パスワードであるsecretを入力 してください。

(初期パスワードの変更方法については、次回記事で紹介予定です。)

他のchromeイメージでもたぶん同じ感じで使えると思います。

まとめ

以上、docker-seleniumでユーザデータを永続化する方法 を紹介してみました。

seleniumを使うとき、ブラウザのユーザデータを保持しておきたいという場面は結構あると思います。

そのような場合は、ぜひここで紹介した方法を試してみてください。

次回は、docker-seleniumでVNCパスワードを変更する方法 を紹介したいと思います。


※ 追記

「docker-seleniumでVNCパスワードを変更する方法」は以下のページを参照してください。