You need to make Firefox save this explicit file type automatically.
This can be achieved by setting browser.helperApps.neverAsk.saveToDisk preference:
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()
More explanation:
browser.download.folderList tells it to not use default Downloads directory
browser.download.manager.showWhenStarting turns of showing download progress
browser.download.dir sets the directory for downloads
browser.helperApps.neverAsk.saveToDisk tells Firefox to automatically download the files of the chosen mime-types
You can read of these preferences at about: config within the browser.
There is additionally a really elaborated documentation page accessible here: About:config entries.
Besides, rather than using XPath approach, I'd use find_element_by_partial_link_text():
driver.find_element_by_partial_link_text("DEV.tgz").click()
Also, see:
Access to file download dialog in Firefox
Firefox + selenium WebDriver and download a CSV file automatically
If you wish to Learn Selenium visit this Selenium Certification.