Recientemente actualicé mi máquina Mac a OS Catalina (v 10.15.3). Después de esta actualización, no puedo iniciar el controlador Chrome con Selenium.
Me encuentro con el siguiente error cuando ejecuto el código de selenio para iniciar el navegador Chrome.
""chromedriver" no se puede abrir porque no se puede verificar el desarrollador". "macOS no puede verificar que esta aplicación esté libre de malware".
¡Por favor, ayúdame!
En macOS Catalina y macOS Mojave, cuando una aplicación no se instala porque no está certificada ante un notario o es de un desarrollador no identificado, aparecerá en Preferencias del sistema > Seguridad y privacidad, en la pestaña General. Haga clic en Abrir de todos modos para confirmar su intención de abrir o instalar la aplicación.
Vuelve a aparecer el mensaje de advertencia y puede hacer clic en Abrir.*
La aplicación ahora se guarda como una excepción a su configuración de seguridad y puede abrirla en el futuro haciendo doble clic en ella, al igual que cualquier aplicación autorizada.
*Si se le pide que abra Finder: presione Control y haga clic en la aplicación en Finder, elija Abrir en el menú y luego haga clic en Abrir en el cuadro de diálogo que aparece. Ingrese su nombre de administrador y contraseña para abrir la aplicación.
Encontré el trabajo de la siguiente manera
Comando1: xattr -d com.apple.quarantine <name-of-executable>
Ejemplo
/usr/local/Caskroom/chromedriver $ xattr -d com.apple.quarantine chromedriver(o)
Command2 : spctl --add --label 'Approved' <name-of-executable>
Fuente: https://docwhat.org/upgrading-to-catalina
Nota: Esto funcionará solo con los archivos donde se ejecuta el comando anterior. Si se descarga un nuevo chromedriver, el comando debe ejecutarse nuevamente en el archivo recién descargado.
Las respuestas anteriores fueron útiles. Solo agregaría que si está ejecutando Selenium desde un entorno de desarrollo, en mi caso, un Jupyter Notebook, y este es el problema, es probable que vea un PermissionError: [Errno 13] Permission denied . Hay otras causas para este error, pero puede ser que macOS Catalina esté bloqueando la ejecución de chromedriver por razones de seguridad. Siguiendo los enfoques anteriores, lo ejecuté desde la línea de comando y luego pude abrirlo desde Jupyter usando driver = webdriver.Chrome('path/to/chromedriver) .
solución rápida
Después de esto, el script debería funcionar bien.
Abra la terminal y navegue hasta la ruta donde se descarga chromedriver. Ejecute xattr -d com.apple.quarantine chromedriver
La forma más fácil de resolver este error, sigue los pasos a continuación.
Descubrí que si has probado esta solución:
// Get the path to chromedriver, example: /usr/local/bin/chromedriver which chromedriver // Change permissions xattr -d com.apple.quarantine <path_to_chromedriver>y su navegador se abre y luego se cierra inmediatamente, podría deberse a la instalación de la versión incorrecta de Chromedriver.
Busque su versión de Chrome iniciando Chrome y luego seleccionando
Chrome > About Google ChromeElimine su controlador de Chrome actual y busque el controlador de Chrome que coincida con su versión de Chrome que se muestra en su "Acerca de Google Chrome" (ejemplo: 96.0.4664.110). Esto funcionó para mí en una Mac con Monterey OS
1. Navegue a la ruta donde se encuentra su archivo chromedriver 2. Haga clic derecho en el chromedriver 3. abra con terminal 4. ejecute su código
Era un problema de permisos... Después de actualizar Chrome, se mostraba este error, así que seguí los pasos mencionados a continuación y funcionó en mi sistema.
xattr -d com.apple.quarantine $(which chromedriver) solo no es suficiente.
con la última versión de chromedriver, parece que se están dividiendo en carpetas de versiones.
para mí el 30/9/20. lo que funcionó para mí es xattr -d com.apple.quarantine 85.0.4183.87/chromedriver
Las respuestas existentes son geniales y funcionan.
Pero una solución más fácil es abrir la terminal y ejecutar esto:
xattr -d com.apple.quarantine $(which chromedriver)Lo que funcionó para mí en macOS Catalina Versión 10.15.6 (19G73) fue
Instale chromedriver a través de Homebrew:
brew install chromedriver
Luego, en el Finder, haga clic en el menú Ir y haga clic en la Go to folder option , e ingrese esta ruta:
/usr/local/Caskroom/chromedriver/
Allí deberías ver una carpeta con la versión de chromedriver que tienes instalada, algo como esto:
88.0.4324.96
Ingrese a la carpeta y debería ver el archivo binario de chromedriver .
Haga clic derecho sobre él y haga clic en Open
Ahora, debería aparecer una ventana de terminal con el resultado:
Last login: Sun Jan 31 12:29:15 on ttys001 /usr/local/Caskroom/chromedriver/88.0.4324.96/chromedriver ; exit; ~ /usr/local/Caskroom/chromedriver/88.0.4324.96/chromedriver ; exit; Starting ChromeDriver 88.0.4324.96 (68dba2d8a0b149a1d3afac56fa74648032bcf46b-refs/branch-heads/4324@{#1784}) on port 9515 Only local connections are allowed. Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe. ChromeDriver was started successfully. Finalmente, presione Ctrl+C para detener la ejecución y salir de la ventana del terminal.
Ahora, debería poder ejecutar pruebas de carpincho.
(Lo que funcionó para mí, espero que funcione para usted también)
use homebrew para instalar chromedriver
brew install chromedriver
navegue a chromedriver que está en la carpeta Caskroom específicamente
/usr/local/bin/Caskroom/chromedriver ... keep going until you see the Unix Executable File called "chromedriver"
siguiendo la recomendación de Apple para abrir aplicaciones Mac de un desarrollador no identificado, haga doble clic en chromedriver y luego haga clic en "Abrir"
Para mí, esto dio como resultado que apareciera una ventana de terminal con el resultado:
Starting ChromeDriver ... Only local connections are allowed. Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe. ChromeDriver was started successfully. Ahora puedo ejecutar scrapy-selenium sin problema, puede cerrar la ventana de la terminal (sí, terminar el proceso está bien) y aún debería funcionar sin detenerlo ahora.
Hazme saber si esto funciona para ti
Dos pasos para solucionar esto:
cd /usr/local/bin . Aquí es donde verá su chromedriver instalado.xattr -d com.apple.quarantine chromedriver .Y eso es todo. Me funcionó así.