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.

Configuración de Python Selenium para establecer la ruta del perfil de Firefox en Ubuntu.

He configurado la ruta a un nuevo perfil de Firefox creado en Ubuntu utilizando python y Selenium. Pero cuando ejecuto el script de python, me encuentro con este problema.

/bin/python3 /home/frixreda/Desktop/Python/testU.py
/home/frixreda/Desktop/Python/testU.py:7: DeprecationWarning: firefox_profile se ha quedado obsoleto, por favor usa un objeto Options
  profile = webdriver.FirefoxProfile(
/home/frixreda/Desktop/Python/testU.py:13: DeprecationWarning: capabilities y desired_capabilities se han quedado obsoletos, por favor pasa un objeto Service
driver = webdriver.Firefox(firefox_profile=profile,
/home/frixreda/Desktop/Python/testU.py:13: DeprecationWarning: firefox_profile se ha quedado obsoleto, por favor pasa un objeto Options
driver = webdriver.Firefox(firefox_profile=profile,

Este es mi script de python:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

profile = webdriver.FirefoxProfile(
       r'/home/frixreda/.mozilla/firefox/3uz1obam.default')
profile.set_preference("dom.webdriver.enabled", False)
profile.set_preference('useAutomationExtension', False)
profile.update_preferences()
desired = DesiredCapabilities.FIREFOX
driver = webdriver.Firefox(firefox_profile=profile,
                     desired_capabilities=desired)

driver.get("https://gmail.com/")
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que tanto el argumento firefox_profile como el argumento capabilities están obsoletos en la versión actual de Selenium. En su lugar, se recomienda utilizar un objeto Options para establecer el perfil de Firefox y cualquier capacidad deseada.

    Para solucionar esto, puedes crear un objeto Options, establecer el perfil y las capacidades deseadas utilizando sus métodos y pasarlo al constructor webdriver.Firefox. Aquí tienes una versión actualizada del script:

    from selenium import webdriver
    from selenium.webdriver.firefox.options import Options
    
    options = Options()
    options.profile = r'/home/frixreda/.mozilla/firefox/3uz1obam.default'
    options.set_preference("dom.webdriver.enabled", False)
    options.set_preference('useAutomationExtension', False)
    
    driver = webdriver.Firefox(options=options)
    driver.get("https://gmail.com/")
    

    Ten en cuenta que la importación de DesiredCapabilities ya no es necesaria con este enfoque, y el método update_preferences() en el objeto de perfil tampoco es necesario. Esto debería resolver las advertencias de obsolescencia y permitirte utilizar el perfil de Firefox deseado en tu automatización con Selenium.

Comments are closed.