
Macos M2에서 셀레늄을 사용하고 싶습니다. 이 코드를 실행했습니다.
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
options = Options()
options.add_argument("start-maximized")
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
driver.get("https://www.google.com")
그리고 다음 오류가 발생했습니다.
WebDriverException Traceback (most recent call last)
/Users/alancuzon/Desktop/Scrap/scrap_sorare.ipynb Cellule 1 in <cell line: 8>()
6 options = Options()
7 options.add_argument("start-maximized")
----> 8 driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
9 driver.get("https://www.google.com")
File ~/opt/miniconda3/envs/tensorflow/lib/python3.9/site-packages/selenium/webdriver/chrome/webdriver.py:69, in WebDriver.__init__(self, executable_path, port, options, service_args, desired_capabilities, service_log_path, chrome_options, service, keep_alive)
66 if not service:
67 service = Service(executable_path, port, service_args, service_log_path)
---> 69 super().__init__(DesiredCapabilities.CHROME['browserName'], "goog",
70 port, options,
71 service_args, desired_capabilities,
72 service_log_path, service, keep_alive)
File ~/opt/miniconda3/envs/tensorflow/lib/python3.9/site-packages/selenium/webdriver/chromium/webdriver.py:92, in ChromiumDriver.__init__(self, browser_name, vendor_prefix, port, options, service_args, desired_capabilities, service_log_path, service, keep_alive)
89 self.service.start()
91 try:
---> 92 super().__init__(
93 command_executor=ChromiumRemoteConnection(
94 remote_server_addr=self.service.service_url,
95 browser_name=browser_name, vendor_prefix=vendor_prefix,
96 keep_alive=keep_alive, ignore_proxy=_ignore_proxy),
97 options=options)
98 except Exception:
99 self.quit()
File ~/opt/miniconda3/envs/tensorflow/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py:270, in WebDriver.__init__(self, command_executor, desired_capabilities, browser_profile, proxy, keep_alive, file_detector, options)
268 self._authenticator_id = None
269 self.start_client()
--> 270 self.start_session(capabilities, browser_profile)
File ~/opt/miniconda3/envs/tensorflow/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py:363, in WebDriver.start_session(self, capabilities, browser_profile)
361 w3c_caps = _make_w3c_caps(capabilities)
362 parameters = {"capabilities": w3c_caps}
--> 363 response = self.execute(Command.NEW_SESSION, parameters)
364 if 'sessionId' not in response:
365 response = response['value']
File ~/opt/miniconda3/envs/tensorflow/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py:428, in WebDriver.execute(self, driver_command, params)
426 response = self.command_executor.execute(driver_command, params)
427 if response:
--> 428 self.error_handler.check_response(response)
429 response['value'] = self._unwrap_value(
...
13 chromedriver 0x0000000102574578 chromedriver + 3769720
14 chromedriver 0x00000001025890f0 chromedriver + 3854576
15 libsystem_pthread.dylib 0x000000019287026c _pthread_start + 148
16 libsystem_pthread.dylib 0x000000019286b08c thread_start + 8
크롬 웹 드라이버를 다운로드하고 셀레늄과 웹 드라이버 관리자를 설치했습니다.
어떻게 진행해야 하는지 아시나요?
정말 감사합니다 !
답변1
우리는 드라이버를 관리하기 위해 Python의 Selenium의 webdriver-manager를 사용하고 있으며 이 줄에서 동일한 오류가 발생했습니다.
driver = webdriver.Chrome(ChromeDriverManager().install())
이 문제를 해결하기 위해 Chrome 창 -> 설정 -> Chrome 정보 -> Chrome 업데이트를 열었습니다. 또는 브라우저에서 chrome://settings/help를 입력하세요.
새 버전의 Chrome 빌드가 완료된 후에는 동일한 줄에서 더 이상 오류가 생성되지 않습니다.
물론 이는 Google이 문제의 원인이 되는 버그를 수정한 새 버전의 Chrome을 출시한 이후에만 작동했습니다.