
Quiero usar selenio en Macos M2. Ejecuté este código:
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")
Y me salió este error:
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
Descargué el controlador web de Chrome, instalé Selenium y el administrador de controladores web.
¿Sabes cómo proceder?
Muchas gracias !
Respuesta1
Estamos usando el administrador de controladores web de selenio de Python para administrar nuestro controlador y tuvimos el mismo error en esta línea.
driver = webdriver.Chrome(ChromeDriverManager().install())
Para solucionarlo, abrimos una ventana de Chrome -> configuración -> acerca de Chrome -> actualizar Chrome. O chrome://settings/help en su navegador.
Una vez que terminó de compilar la nueva versión de Chrome, esa misma línea ya no genera el error.
Por supuesto, esto solo funcionó porque Google lanzó una nueva versión de Chrome con una corrección de errores para lo que estaba causando eso.