実現したいこと
pythonのwebdriverでchromeを起動したいのですが、起動できません。
発生している問題・分からないこと
chromeを起動できないという問題が発生しています。
エラーメッセージ
error
1--------------------------------------------------------------------------- 2SessionNotCreatedException Traceback (most recent call last) 3Cell In[2], line 6 4 3 from time import sleep 5 5 # ウェブドライバーを開く 6----> 6 driver = webdriver.Chrome() 7 8 # 3秒待つ 8 9 sleep(3) 9 10File ~/.local/share/virtualenvs/3.12.0-jEcVHeNf/lib/python3.12/site-packages/selenium/webdriver/chrome/webdriver.py:45, in WebDriver.__init__(self, options, service, keep_alive) 11 42 service = service if service else Service() 12 43 options = options if options else Options() 13---> 45 super().__init__( 14 46 browser_name=DesiredCapabilities.CHROME["browserName"], 15 47 vendor_prefix="goog", 16 48 options=options, 17 49 service=service, 18 50 keep_alive=keep_alive, 19 51 ) 20 21File ~/.local/share/virtualenvs/3.12.0-jEcVHeNf/lib/python3.12/site-packages/selenium/webdriver/chromium/webdriver.py:61, in ChromiumDriver.__init__(self, browser_name, vendor_prefix, options, service, keep_alive) 22 52 executor = ChromiumRemoteConnection( 23 53 remote_server_addr=self.service.service_url, 24 54 browser_name=browser_name, 25 (...) 26 57 ignore_proxy=options._ignore_local_proxy, 27 58 ) 28 60 try: 29---> 61 super().__init__(command_executor=executor, options=options) 30 62 except Exception: 31 63 self.quit() 32 33File ~/.local/share/virtualenvs/3.12.0-jEcVHeNf/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py:209, in WebDriver.__init__(self, command_executor, keep_alive, file_detector, options) 34 207 self._authenticator_id = None 35 208 self.start_client() 36--> 209 self.start_session(capabilities) 37 38File ~/.local/share/virtualenvs/3.12.0-jEcVHeNf/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py:293, in WebDriver.start_session(self, capabilities) 39 286 """Creates a new session with the desired capabilities. 40 287 41 288 :Args: 42 289 - capabilities - a capabilities dict to start the session with. 43 290 """ 44 292 caps = _create_caps(capabilities) 45--> 293 response = self.execute(Command.NEW_SESSION, caps)["value"] 46 294 self.session_id = response.get("sessionId") 47 295 self.caps = response.get("capabilities") 48 49File ~/.local/share/virtualenvs/3.12.0-jEcVHeNf/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py:348, in WebDriver.execute(self, driver_command, params) 50 346 response = self.command_executor.execute(driver_command, params) 51 347 if response: 52--> 348 self.error_handler.check_response(response) 53 349 response["value"] = self._unwrap_value(response.get("value", None)) 54 350 return response 55 56File ~/.local/share/virtualenvs/3.12.0-jEcVHeNf/lib/python3.12/site-packages/selenium/webdriver/remote/errorhandler.py:229, in ErrorHandler.check_response(self, response) 57 227 alert_text = value["alert"].get("text") 58 228 raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here 59--> 229 raise exception_class(message, screen, stacktrace) 60 61SessionNotCreatedException: Message: session not created: Chrome failed to start: exited normally. 62 (session not created: DevToolsActivePort file doesn't exist) 63 (The process started from chrome location /home/ユーザ名/.cache/selenium/chrome/linux64/121.0.6167.85/chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.) 64Stacktrace: 65#0 0x55998f296d93 <unknown> 66#1 0x55998ef7a337 <unknown> 67#2 0x55998efaebc0 <unknown> 68#3 0x55998efaa765 <unknown> 69#4 0x55998eff4b7c <unknown> 70#5 0x55998efe81e3 <unknown> 71#6 0x55998efb8135 <unknown> 72#7 0x55998efb913e <unknown> 73#8 0x55998f25ae4b <unknown> 74#9 0x55998f25edfa <unknown> 75#10 0x55998f2476d5 <unknown> 76#11 0x55998f25fa6f <unknown> 77#12 0x55998f22b69f <unknown> 78#13 0x55998f284098 <unknown> 79#14 0x55998f284262 <unknown> 80#15 0x55998f295f34 <unknown> 81#16 0x7efc746ddac3 <unknown>
該当のソースコード
python
1# インポート 2from selenium import webdriver 3from time import sleep 4 5# ウェブドライバーを開く 6driver = webdriver.Chrome() 7 8# 3秒待つ 9sleep(3) 10 11# ブラウザを閉じる 12driver.quit()
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
様々なバージョンのwebdriverをインストールしましたが、どれも上手くいきませんでした。
別端末で同じことをした場合問題なく動作したので、何が原因なのか分からず苦戦しています。
補足
Windowsのサブシステムでlinuxを使用しています。
<windowsについて>
プロセッサ 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz
実装 RAM 16.0 GB (15.7 GB 使用可能)
デバイス ID EC0EC83A-6D92-43DB-8AB7-E80A16D1C315
プロダクト ID 00342-21984-78425-AAOEM
システムの種類 64 ビット オペレーティング システム、x64 ベース プロセッサ
ペンとタッチ このディスプレイでは、ペン入力とタッチ入力は利用できません
<linuxについて>
・ubuntsu 22.04.3 LTS
<chromeについて>
・chromeのバージョンは、121.0.6167.140(Official Build) (64 ビット)
・webdriverのバージョンは、121.0.6167.85 (r1233107)
※ webdriverは、"C:\chromedriver-win64\chromedriver.exe"に格納しています。
<python環境について>
・pipenvで作成した仮想環境で「3.12.0」バージョンを使用しています。
・コードはvscodeで記載し、実行しています。
