unittest tag name instalar examples con como python firefox selenium selenium-webdriver

tag - Descargando el archivo a la ubicación especificada con Selenium y python



tag name selenium (2)

Ok, hasta ahora tengo mi programación yendo al sitio web del que quiero descargar el enlace y seleccionándolo, luego aparece el cuadro de diálogo de Firefox y no sé qué hacer. Quiero guardar este archivo en una carpeta en mi escritorio. Estoy usando esto para una compilación nocturna, así que necesito que esto funcione. Por favor ayuda.

Aquí está mi código que captura el enlace de descarga del sitio web:

driver = web driver.Firefox() driver.implicitly_wait(5) driver.get("Name of web site I''m grabbing from") driver.find_element_by_xpath("//a[contains(text(), ''DEV.tgz'')]".click()


Necesitas hacer que Firefox guarde este tipo de archivo en particular automáticamente.

Esto se puede lograr configurando la preferencia browser.helperApps.neverAsk.saveToDisk :

from selenium import webdriver profile = webdriver.FirefoxProfile() profile.set_preference("browser.download.folderList", 2) profile.set_preference("browser.download.manager.showWhenStarting", False) profile.set_preference("browser.download.dir", ''PATH TO DESKTOP'') profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/x-gzip") driver = webdriver.Firefox(firefox_profile=profile) driver.get("Name of web site I''m grabbing from") driver.find_element_by_xpath("//a[contains(text(), ''DEV.tgz'')]").click()

Más explicación:

  • browser.download.folderList le dice que no use el directorio predeterminado de Downloads
  • browser.download.manager.showWhenStarting mostrar el progreso de la descarga
  • browser.download.dir establece el directorio para descargas
  • browser.helperApps.neverAsk.saveToDisk le dice a Firefox que descargue automáticamente los archivos de los mime-types seleccionados

Puede ver todas estas preferencias en about:config en el navegador. También hay una página de documentación muy detallada disponible aquí: Acerca de: entradas de configuración .

Además, en lugar de utilizar el enfoque xpath , usaría find_element_by_partial_link_text() :

driver.find_element_by_partial_link_text("DEV.tgz").click()

Ver también:


Si la aplicación se genera dinámicamente (tipos mime), el navegador Chrome será un mejor enfoque ya que Chrome no abrirá la ventana emergente de descarga de archivos. Pero la opción de descarga múltiple debe estar habilitada si necesita varias descargas.