Haru57636433
@Haru57636433 (haru .)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

GoogleColabo上でSeleniumを使い、Chromeを操作するコードにおいて、Versionが違うためにエラーが出るが対処方法が分かりません

解決したいこと

下記のエラーが発生しており、ChromeDriverのversionが違うことは分かるのですが、
対応方法が分かりません。
昨日までは正常に動いておりました。

発生している問題・エラー

WebDriverException: Message: Service chromedriver unexpectedly exited. Status code was: -6

使っているGoogleChromeは、versionが最新ですという表記が出ております。
image.png

該当するソースコード

#Chromiumとseleniumをインストール
print("前処理を開始")
!apt-get update
!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


# ブラウザを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)

自分で試したこと

使っているChromeブラウザは最新で、
コード内にてChromeのバージョンを最新にアップデートしているつもり
!apt-get update
ですが、ここでアップデートされていないということでしょうか?

お手数ですが、ご指摘いただけますと幸いでございます。

0

4Answer

Ctrl+Shift+pを押してコマンドパレットを開き
「代替ランタイムバージョンを使用する」を選んでください。
image.png

代替ランタイムバージョンへの接続を開始したら、あせらずさわがず、数分以上、根気強く待機してください。

初期化には非常に時間がかかります。

この間Googleコラボがフリーズしているように見えますが、それはたいてい、初期化中だからです。

また、メモリ使用状況によっては正常に接続できない場合があるので、その場合はGoogleコラボをリセットしてもう一度代替ランタイムバージョンへの接続を試行してください。

代替ランタイムバージョンに接続できたら、
まず以下を実行します。

!apt install chromium-chromedriver
!cp /usr/lib/chromium-browser/chromedriver /usr/bin
!pip install selenium

そしたら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


# ブラウザを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)
3Like

Comments

  1. @Haru57636433

    Questioner

    ご教示いただいた通りに対応したところ、
    正常に動作するようになりました。
    大変助かりました、ありがとうございます!
  2. @Haru57636433

    Questioner

    先日いただいた上記の内容で対応し、実行できたのですが、再度翌日実行しようとしたところ、下記エラーが発生してしまいました。

    「代替ランタイム」を実施しても改善されず、2~3日色々と調べてみたのですが解決に至れず、、、

    申し訳御座いませんが、もし原因や対策が分かるようでしたらご確認いただければと思います。

    試しに、別のGoogleアカウントで新規でColaboを作成し実行しましたが、同様の結果となりました。

    下記の新規投稿をご確認いただければと思います。
  3. すみませんが、こちらでは同様の事象を再現することができませんでした(上記の手順で正常に動いています。環境は、Windows 10 / Chromium Edge)

1.まず、Google コラボの新しいセルに下記をコピペして実行してください。
(長いですが全文を1つのセルにコピペ)

%%shell
# Ubuntu no longer distributes chromium-browser outside of snap
#
# Proposed solution: https://askubuntu.com/questions/1204571/how-to-install-chromium-without-snap

# Add debian buster
cat > /etc/apt/sources.list.d/debian.list <<'EOF'
deb [arch=amd64 signed-by=/usr/share/keyrings/debian-buster.gpg] http://deb.debian.org/debian buster main
deb [arch=amd64 signed-by=/usr/share/keyrings/debian-buster-updates.gpg] http://deb.debian.org/debian buster-updates main
deb [arch=amd64 signed-by=/usr/share/keyrings/debian-security-buster.gpg] http://deb.debian.org/debian-security buster/updates main
EOF

# Add keys
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DCC9EFBF77E11517
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 112695A0E562B32A

apt-key export 77E11517 | gpg --dearmour -o /usr/share/keyrings/debian-buster.gpg
apt-key export 22F3D138 | gpg --dearmour -o /usr/share/keyrings/debian-buster-updates.gpg
apt-key export E562B32A | gpg --dearmour -o /usr/share/keyrings/debian-security-buster.gpg

# Prefer debian repo for chromium* packages only
# Note the double-blank lines between entries
cat > /etc/apt/preferences.d/chromium.pref << 'EOF'
Package: *
Pin: release a=eoan
Pin-Priority: 500


Package: *
Pin: origin "deb.debian.org"
Pin-Priority: 300


Package: chromium*
Pin: origin "deb.debian.org"
Pin-Priority: 700
EOF

# Install chromium and chromium-driver
apt-get update
apt-get install chromium chromium-driver

# Install selenium
pip install selenium

2.上記1の処理が終わったら、新しいセルに、実行したいコードの「#ライブラリをインポート」以下を記述して実行してみて下さい。(!apt install~等 の「!」から始まる3行は実行しなくていいです)

#ライブラリをインポート
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


# ブラウザを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)

引用元:
https://teratail.com/questions/9wfzcz4dxd22m1

1Like

上記で対応したところ、一度改善されましたが、改めてエラーが発生している状況でございます。

Chromeの使用しているバージョンは最新です。

■実行1
image.png

■実行2
image.png

0Like

Comments

■試したことの追記:
Webdriverマネージャーで試してみましたがこの場合も添付のようにエラーが出る状況

image.png

エラー内容
WebDriverException: Message: Service /root/.wdm/drivers/chromedriver/linux64/109.0.5414/chromedriver unexpectedly exited. Status code was: -6

0Like

Comments

Your answer might help someone💌