这个硒火狐配置文件下载文件到自定义文件夹有什么问题?

问题描述:

我使用selenium和python v3.6自动化firefox将文件下载到自定义文件夹中。该文件夹的位置是C:/Users/username/Dropbox/Inv/这个硒火狐配置文件下载文件到自定义文件夹有什么问题?

下面是我的firefox个人资料。

profile = webdriver.FirefoxProfile() 
profile.set_preference('browser.download.folderList', 2) # custom location 
profile.set_preference('browser.download.manager.showWhenStarting', False) 
profile.set_preference('browser.download.dir', 'C:/Users/username/Dropbox/Inv/') 
profile.set_preference('browser.helperApps.neverAsk.saveToDisk', 'text/plain') 
profile.set_preference('browser.helperApps.neverAsk.openFile', 'text/plain') 

目前,该文件总是下载到默认文件夹C:\Users\username\Downloads。如何获取下载的文件夹位置为C:/Users/username/Dropbox/Inv/

+0

可能的重复[下载并保存多个csv文件使用硒和弹出窗口中的python](https://*.com/questions/45097302/download-and-save-multiple-csv-files-using-selenium-and -python-from-popup) – DebanjanB

我会回答我的问题。问题在于指定下载目录的字符串。我应该使用\\而不是/

profile.set_preference('browser.download.dir', 'C:\\Users\\username\\Dropbox\\Inv') 

该代码已被验证为现在可以使用。

您需要使用profile同时启动Firefox:

driver = webdriver.Firefox(firefox_profile = profile) 

检查8.4. How to auto save files using custom Firefox profile ?硒文档常见问题解答。

这是链接中的例子:

import os 

from selenium import webdriver 

fp = webdriver.FirefoxProfile() 

fp.set_preference("browser.download.folderList",2) 
fp.set_preference("browser.download.manager.showWhenStarting",False) 
fp.set_preference("browser.download.dir", os.getcwd()) 
fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/octet-stream") 

browser = webdriver.Firefox(firefox_profile=fp) 
browser.get("http://pypi.python.org/pypi/selenium") 
browser.find_element_by_partial_link_text("selenium-2").click() 
+0

感谢您的帮助,但我没有足够的积分来upvote。 – user1315789