CentOS7+Python+ChromeでSeleniumをセットアップ

技術

CentOS7+Python+Chromeを用いてSeleniumをセットアップする

環境

サーバー: さくらVPS (2GB)
OS: CentOS7
Python: 3.9.13

セットアップ

1., スクレイプに必要なモジュールをインストール

sudo pip install selenium
sudo pip install webdriver_manager
sudo pip install beautifulsoup4
sudo pip install lxml

2., ChromeDriverのインストール

デフォルトだと直接yumでインストールができないのでrepoを登録する

#新規ファイルを作成
$sudo 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

repoを設定したらyumでインストール

sudo yum install google-chrome-stable -y

起動

とりあえず起動してみる

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

options = Options()    
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
driver = webdriver.Chrome(ChromeDriverManager().install(), options=options, chrome_options=chrome_options)

driver.get('https://yu00sasaki.com/')

注意

CLIで実行する場合、当然ながらスクリーンモードは起動できない。
例えば以下で実行すると、エラーが生じる

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

options = Options()    
options.add_argument('--start-fullscreen') #変更点
driver = webdriver.Chrome(ChromeDriverManager().install(), options=options)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally.
  (unknown error: DevToolsActivePort file doesn't exist)
  (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)

CLIで実行する際はヘッドレスモードにする。

chrome_options.add_argument('--headless')

コメント

タイトルとURLをコピーしました