selenium没有在FirefoxProfi中设置downloaddir

2024-05-13 11:47:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我想自动下载文件并将其保存在目录中,一切都已完成,但firefox仍将文件保存在用户下载文件夹中,例如C:\users\root\Downloads

PyWebBot类中的函数

@staticmethod
def FirefoxProfile(path, handlers):
    from selenium import webdriver

    profile = webdriver.FirefoxProfile()
    profile.set_preference("browser.download.folderList",1)
    profile.set_preference("browser.download.manager.showWhenStarting",False)
    profile.set_preference("browser.download.dir", path)
    profile.set_preference("browser.download.downloadDir", path)
    profile.set_preference("browser.download.defaultFolder", path)
    profile.set_preference("browser.helperApps.alwaysAsk.force", False)
    profile.set_preference("browser.helperApps.neverAsk.saveToDisk", handlers)
    profile.set_preference("pdfjs.disabled", True)
    profile.update_preferences()

    return profile

那么

 def setUp(self):
        self.profile = PyWebBot.FirefoxProfile(config['downloads'], config['handlers'])
        self.driver = webdriver.Firefox(self.profile)
    ...
    ...

配置:

config['downloads'] = 'Q:/web2py_src/web2py/applications/internet2letter/private/testing/selenium/downloads'
config['handlers'] = 'application/pdf'

Tags: 文件pathselfbrowserconfigdownloadhandlersdownloads