seleniumでブラウザを自動操作してみよう

2020年12月21日

seleniumでブラウザを自動操作してみよう

ターミナルからブラウザの自動操作をして毎日の操作を効率化しましょう。
今回はseleniumを使ってchromeを操作してみます。
参考:CentOSにSeleniumとGoogleChrome & ChromeDriverをインストールする

インストール

pythonの環境に必要なものをインストールします。


#Red Hat Enterprise Linux向けRPMパッケージをインストール
  yum install -y https://centos7.iuscommunity.org/ius-release.rpm

#python3.6とpython系ライブライをインストール
  yum install -y python36u python36u-devel python36u-libs

#pipパッケージマネージャをインストール
  yum install -y python36u-pip

#pipアップグレード
  pip3.6 install --upgrade pip

GoogleChromeをインストール

リポジトリを作成します。


vi /etc/yum.repos.d/google-chrome.repo

リポジトリの中身は下記の通りに記載してください。


[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64
enabled=1
gpgcheck=1
gpgkey=https://dl.google.com/linux/linux_signing_key.pub

「GoogleChrome」をインストールします。


#google-chromeをインストール
  yum -y install google-chrome-stable libOSMesa

#バージョンを確認
  google-chrome --version

#IPA Fontsのインストール
  yum -y install ipa-gothic-fonts ipa-mincho-fonts ipa-pgothic-fonts ipa-pmincho-fonts

chromedriverをインストール

まずは下記のサイトにアクセスします。
ChromeDriver - WebDriver for Chrome
chromedriverをインストールするのですがバージョンの注意が必要です。
上記で確認したバージョンをクリックします。

今回は「CentOS7」を使用しているので下記の通りの操作をしました。
1.「chromedriver linux64.zip」を右クリック
2.「リンクのアドレスをコピー」をクリック
3.「wget」でダウンロード


#zipをダウンロード
 wget https://chromedriver.storage.googleapis.com/80.0.3987.106/chromedriver_linux64.zip

#zipを解凍
  unzip chromedriver_linux64.zip

#ファイルを移動
  mv chromedriver /usr/local/bin/

#権限変更
  chmod 755 /usr/local/bin/chromedriver

seleniumをインストール

seleniumをインストールするには下記のコマンドだけです。


#seleniumをインストール
  pip3 install selenium

実行ファイルを作成


#ファイルを作成
  vi webdrive.py

実行ファイルは下記の通りです。
これでファイルを実行すると画面スクリーンショットが同階層に作成されているので確認してみましょう。


from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-gpu')
options.add_argument('--window-size=1280,1024')

driver = webdriver.Chrome(options=options)
driver.get('https://worklog.be/')

driver.save_screenshot('test.png')
driver.quit()

追記

ファイル名を「selenium.py」にすると下のようなエラーが出ます。


Traceback (most recent call last):
  File "selenium.py", line 1, in 
    from selenium import webdriver
  File "/xxx/yyy/zzz/selenium.py", line 1, in 
    from selenium import webdriver

2020年12月21日