GoogleColaboでパスを通していないエラー「WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://chromedriver.chromium.org/home」の対応方法について
解決したいこと
GoogleColaboを使用して、Seleniumでのブラウザ自動操作を行っております。
定期的に作業を行うものを自動化しており、スクレイピングではありません。
先日、下記の質問をさせていただき解決したのですが、
https://qiita.com/Haru57636433/questions/2f8169d2fbc4dc729e8e
翌日、再度同様のエラーが発生し、回答いただいた内容で対応したのですが、
次はパスが通っていないという内容のエラーが発生しました。
ローカルであればパスの場所を指定すればよいと思うのですが、
GoogleColaboの場合、どのようにパスを指定すればよいのでしょうか。
発生している問題・エラー
WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://chromedriver.chromium.org/home
発生しているエラーの全文
ブラウザを設定
---------------------------------------------------------------------------
SeleniumManagerException Traceback (most recent call last)
/usr/local/lib/python3.8/dist-packages/selenium/webdriver/common/service.py in start(self)
96 try:
---> 97 path = SeleniumManager().driver_location(browser)
98 except WebDriverException as new_err:
7 frames
SeleniumManagerException: Message: Selenium manager failed for: /usr/local/lib/python3.8/dist-packages/selenium/webdriver/common/linux/selenium-manager --browser chrome. /usr/local/lib/python3.8/dist-packages/selenium/webdriver/common/linux/selenium-manager: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.29' not found (required by /usr/local/lib/python3.8/dist-packages/selenium/webdriver/common/linux/selenium-manager)
/usr/local/lib/python3.8/dist-packages/selenium/webdriver/common/linux/selenium-manager: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /usr/local/lib/python3.8/dist-packages/selenium/webdriver/common/linux/selenium-manager)
During handling of the above exception, another exception occurred:
WebDriverException Traceback (most recent call last)
/usr/local/lib/python3.8/dist-packages/selenium/webdriver/common/service.py in _start_process(self, path)
211 except OSError as err:
212 if err.errno == errno.ENOENT:
--> 213 raise WebDriverException(
214 f"'{os.path.basename(self.path)}' executable needs to be in PATH. {self.start_error_message}"
215 )
WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://chromedriver.chromium.org/home
該当するソースコード
from google.colab import drive
drive.mount('/content/drive/')
%cd /content/drive/MyDrive/操作対象フォルダ
!ls
#Chromiumとseleniumをインストール
print("前処理を開始")
# !apt-get update ※この4行は、前回質問の対応後はコメントアウトしている状態
# !apt install chromium-chromedriver
# !cp /usr/lib/chromium-browser/chromedriver /usr/bin
# !pip install selenium ※ここまで
#ライブラリをインポート
from selenium import webdriver
import time
from selenium.webdriver.common.by import By
import shutil
import os
import glob
from glob import glob
from pathlib import Path
%cd /content/drive/MyDrive/操作対象フォルダ
!ls
# ファイルの存在確認⇒削除
files = glob(r"/content/drive/MyDrive/操作対象フォルダ/*")
for file in files:
print("削除前:",file)
os.remove(file)
time.sleep(3)
print("削除後:",file)
# ファイルの存在確認⇒削除
files = glob(r"/content/drive/MyDrive/操作対象フォルダ/*")
for file in files:
print("削除前:",file)
os.remove(file)
print("削除後:",file)
#---------------------------------------------------------------------------------------
# 処理開始:参考サイト:https://
#---------------------------------------------------------------------------------------
# ブラウザをheadlessモード実行
print("\nブラウザを設定")
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
driver = webdriver.Chrome('chromedriver',options=options) ※エラー発生のコードはこちらになります
driver.implicitly_wait(10)
例)
自分で試したこと
from selenium import webdriver
d = webdriver.Chrome('ここに書きます')
d.get('https://www.google.com/')
上記のように、パスを指定したいのですが、GoogleColaboの場合、どこがパスになるのか分からない状態です。
お手数ですがご確認よろしくお願いいたします。
0