使用Selenium和python将文件下载到指定的位置 [英] Downloading file to specified location with Selenium and python
问题描述
这是我的代码,从网站上下载链接:
driver = web driver.Firefox()
driver.implicitly_wait(5)
driver.get(我从中抓取的网站名称)
driver.find_element_by_xpath (// a [contains(text(),'DEV.tgz')]。click()
这可以通过设置 browser.helperApps.neverAsk.saveToDisk
首选项来实现:
from selenium import webdriver
$ b 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(我从中抓取的网站名称)
driver.find_element_by_xpath(// a (包含(text(),'DEV.tgz')])。click()
更多解释:
-
browser.download.folderList
告诉它不要使用default <$显示下载进度的轮流 - / li>
-
browser.download.dir
设置下载目录
-
browser.helperApps.neverAsk.saveToDisk
告诉Firefox自动下载所选mime-types
- 访问Firefox中的文件下载对话框
- Firefox + Selenium WebDriver并下载一个csv文件自动机
browser.download.folderList
tells it not to use defaultDownloads
directorybrowser.download.manager.showWhenStarting
turns of showing download progressbrowser.download.dir
sets the directory for downloadsbrowser.helperApps.neverAsk.saveToDisk
tells Firefox to automatically download the files of the selectedmime-types
- Access to file download dialog in Firefox
- Firefox + Selenium WebDriver and download a csv file automatically
您可以在浏览器中查看 about:config
的所有参数。这里还有一个非常详细的文档页面:关于:配置条目。
另外,我不使用 另请参阅: Ok so far i have my programing going to the website i want to download link from and selecting it, then the firefox dialogue box shows up and i don't know what to do. i want to save this file to a folder on my desktop. I am using this for a nightly build so i need this to work. Please help. Here is my code that grabs the download link from the website:
You need to make This can be achieved by setting More explanation: You can view all these preferences at Besides, instead of using Also see: 这篇关于使用Selenium和python将文件下载到指定的位置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋! xpath
方法,而是使用 find_element_by_partial_link_text()
:
$ b $ pre $ driver.find_element_by_partial_link_text(DEV.tgz)。click()
$ c
$ b
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()
Firefox
save this particular file type automatically.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()
about:config
in the browser. There is also a very detailed documentation page available here: About:config entries.xpath
approach, I would use find_element_by_partial_link_text()
:driver.find_element_by_partial_link_text("DEV.tgz").click()