2017-10-18 89 views
0

我使用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://stackoverflow.com/questions/45097302/download-and-save-multiple-csv-files-using-selenium-and -python-from-popup) – DebanjanB

回答

1

我會回答我的問題。問題在於指定下載目錄的字符串。我應該使用\\而不是/

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

該代碼已被驗證爲現在可以使用。

1

您需要使用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