CentOS8.1でPython3.8+Seleniumでブラウザを自動操作する

この記事は

CentOS上でPythonを使ってGoogleChromeの自動操作を行うための構築手順です。
CentOS上で動かすメリットは、レンタルサーバ代が安いというのと、最終的にGUI環境ではなくてもCUIのみでブラウザ操作を完了することができます。

Windows上でのPython+Seleniumの実行はたくさん例があるのですが、Linux環境での構築環境があまりなかったので記事にしてみました。
また、CentOSでも動かした例はあってもCentOS7系が多く、8系に関してはまだ情報が少なかったので、備忘としてまとめます。
7系と8系だとPython動かす時のコマンドが少し変わっていて、癖がありました。

大きい手順としては以下となります。

  • CenteOS8.1のインストール
  • GoogleChromeのインストール
  • Pythonのインストール
  • Seleniumのインストール
  • ChromeDriverのインストール
  • 環境変数の設定 export DISPLAY=:0

目指したい構成図

誰でも簡単にできるように、レンタルサーバ上のCentOSに動作環境を構築し、
その後は家のWindowsやMac端末からレンタルサーバ会社のコンソール接続を用いたり、SSH接続によりPythonを実行します。
基本的に構築やGUI操作がしたい場合は、各社が用意しているコンソールから接続します。
その後環境が整ったらSSH接続により、CUIのみの操作で実行できるのが簡単かと思います。

CentOS8.4のインストール

ここは、レンタルサーバを借りている人は必要のない工程なので、別記事にしています。
必要な方のみ参照して下さい。CentOS8.1のインストール

GoogleChromeのインストール

  • まずはCentOSのバージョンを確認しておきます。
# cat /etc/redhat-release 
CentOS Linux release 8.1.1911 (Core)
  • Google Chrome用のyumリポジトリを作成します。
vi /etc/yum.repos.d/google.chrome.repo

[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
  • yum update
# yum -y install google-chrome-stable
  • GoogleCromeインストール
# yum -y install google-chrome-stable
  • Chromeのバージョン確認
# google-chrome --version
Google Chrome 73.0.3683.86
  • GUI無しのヘッドレスモードで動作確認
# google-chrome --headless --no-sandbox --dump-dom https://www.google.com/

Pythonコマンド

  • pythonコマンドの実行パスを変更する
# sudo alternatives --config python
There are 2 programs which provide 'python'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/libexec/no-python
   2           /usr/bin/python3

Enter to keep the current selection[+], or type selection number: 2

参考サイト

CentOS7でSelenium+Pythonを動かすまで
https://qiita.com/mindwood/items/245adeb6da18999bbfc4

リモートからpythonコマンドを実行できるようにする

$ export DISPLAY=:0

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です