gpt4 book ai didi

python - selenium 没有在 FirefoxProfile 中设置 downloaddir

转载 作者:太空狗 更新时间:2023-10-29 18:23:13 25 4
gpt4 key购买 nike

我想自动下载文件并将它们保存在目录中,一切都已完成,但 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'

最佳答案

有几种方法可以解决这个问题,

  1. 确保路径有效。使用类似 os.path.existsos.isfile
  2. 的东西
  3. Firefox 使用 selenium 驱动程序启动时,导航到 about:config 并检查查找 browser.download.dir,以确保有变化。
  4. 最后,确保 profile.set_preference (profile.set_preference("browser.download.folderList",2) 有 2 作为第二个参数,因为0表示下载到桌面,1表示下载到默认的“Downloads”目录,2表示使用您在“browser.download.dir”中指定的目录
  5. 确保您的路径用反斜杠“\”而不是正斜杠标注斜线 '/'

关于python - selenium 没有在 FirefoxProfile 中设置 downloaddir,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18521636/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com