es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Problema de Robotframework WebDriverException

Soy nuevo en robot framework y he estado tratando de ejecutar este script.

*** Settings ***
    Library         SeleniumLibrary    run_on_failure=Nothing

    Test Setup       Open Browser And Go To Page
    Test Teardown    Close Browser

    *** Variables ***
    ${FORM_URL}         https://www.google.com/
    ${BROWSER}          headlesschrome


    *** Test Cases ***
    Page Should Show Header
        Page Should Contain     Google 

    *** Keywords ***
    Open Browser And Go To Page
        Open Browser    ${FORM_URL}   ${BROWSER}

Al ejecutar el script, obtengo el siguiente error:

==============================================================================
Testing
==============================================================================
Page Should Show Header :: When visit the page it should show the ... | FAIL |
Setup failed:
WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home
------------------------------------------------------------------------------
Testing                                                               | FAIL |

He intentado todas las respuestas sugeridas en Stackoverflow y todavía no funciona. He probado lo siguiente y también agregué los detalles del controlador (driver) en PATH, pero sigo obteniendo el mismo error.
La versión actual de Google Chrome es 96.0.4664
pip 21.3.1
Python 3.7.9

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

options = webdriver.ChromeOptions()
options.add_experimental_option('excludeSwitches', ['enable-logging'])
options.add_argument('--log-level=3')
driver = webdriver.Chrome(executable_path='D:\Users\win32\96.0.4664.45\chromedriver.exe', options=options)
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que el script no puede encontrar el archivo ejecutable chromedriver en la ruta PATH.

    Una solución es agregar el directorio ejecutable chromedriver a la variable de entorno PATH. Esto se puede hacer agregando la siguiente línea al script:

    import os
    
    chromedriver_path = "D:\Users\win32\96.0.4664.45\chromedriver.exe"
    os.environ["PATH"] += os.pathsep + chromedriver_path
    

    Alternativamente, puedes usar el paquete webdriver_manager para descargar e instalar automáticamente el archivo ejecutable chromedriver. Aquí tienes un ejemplo:

    from selenium import webdriver
    from webdriver_manager.chrome import ChromeDriverManager
    
    options = webdriver.ChromeOptions()
    options.add_experimental_option('excludeSwitches', ['enable-logging'])
    options.add_argument('--log-level=3')
    driver = webdriver.Chrome(ChromeDriverManager().install(), options=options)
    

    Esto asegurará que se descargue y utilice la versión correcta del archivo ejecutable chromedriver en el script.

Comments are closed.