概要
内容
- EC2をデスクトップ化して、seleniumを導入する
メリット
- EC2環境で、seleniumの挙動をGUIで確認できる。
- 他の記事では、headressで起動しないとできないと記載されていたが、この方法を使えばGUIで挙動を確認できる
参考資料
https://qiita.com/hitomatagi/items/e63dd8c4b879de156628
https://qiita.com/onorioriori/items/4fa271daa3621e8f6fd9
https://qiita.com/natsu_san/items/e8b17306385d5ab72969
作業工程
AmazonLinux2にデスクトップ環境を作成する
Python3を導入する
MATE上部にあるAplication→System Tools→Mate Terminalを起動
- yumを最新の状態にする
$ sudo yum -y update
$ sudo yum -y install gcc openssl-devel bzip2-devel libffi-devel
- Pythonをダウンロードする
- バージョンは問わない。今回は3.8.1
$ wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz
$ tar xzf Python-3.8.1.tgz
- Python3をインストールする。
$ cd Python-3.8.1
$ sudo ./configure --enable-optimizations
$ sudo make altinstall
- インストールされているか確認する
$ python3.8 --version
Python 3.8.1
$ pip3.8 --version
pip 19.2.3 from /usr/local/lib/python3.8/site-packages/pip (python 3.8)
- PATHを差し替える
- rootからもPython3.8を使えるようにパスを通しシンボリックリンクをはっておく
$ sudo visudo
(Before)
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
(After)
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
- シンボリックリンクを作成する
$ sudo ln -s /usr/local/bin/python3.8 /usr/local/bin/python3
$ sudo ln -s /usr/local/bin/pip3.8 /usr/local/bin/pip3
seleniumを導入する
- Google Chromeをインストール
$ curl https://intoli.com/install-google-chrome.sh | bash
- GConf2のインストール
- ChromeDriverを実行する時はGConf2がないと動作しない。
- yum install GConf2を行っても「No package GConf2 available.」となるので、
リポジトリを追加する。
- yum install GConf2を行っても「No package GConf2 available.」となるので、
- ChromeDriverを実行する時はGConf2がないと動作しない。
$ sudo vim /etc/yum.repos.d/centos.repo
centos.repo
[CentOS-base]
name=CentOS-6 - Base
mirrorlist=http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
#released updates
[CentOS-updates]
name=CentOS-6 - Updates
mirrorlist=http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=updates
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
#additional packages that may be useful
[CentOS-extras]
name=CentOS-6 - Extras
mirrorlist=http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=extras
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
- これでインストールができるようになる。
$ sudo yum -y install GConf2
- Google Chromeのバージョンを確認
$ google-chrome-stable -version
Google Chrome 84.0.4147.135
- 上記のバージョンに合わせたKeyをこちらに合わせて導入
$ wget https://chromedriver.storage.googleapis.com/{chromeのバージョン番号}/chromedriver_linux64.zip
- 解凍してchromedriverを移動
$ unzip chromedriver_linux64.zip
$ sudo mv chromedriver /usr/local/bin/
- そのままでは文字化けするため、google-notoをインストール
sudo yum install google-noto* -y
- seleniumを導入
$ sudo pip3 install selenium
- seleniumをテスト起動
test.py
# Library
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# Options
options = Options()
options.add_argument('--disable-extensions')
options.add_argument('--proxy-server="direct://"')
options.add_argument('--proxy-bypass-list=*')
options.add_argument('--start-maximized')
# Chrome
driver = webdriver.Chrome(options=options)
driver.get('https://www.google.co.jp/')