【问题标题】:How to save a downloaded file to a specific relative directory with selenium in python如何在python中使用selenium将下载的文件保存到特定的相对目录
【发布时间】:2019-08-19 08:59:17
【问题描述】:

我正在尝试将带有 Selenium 和 python 的文件下载到特定的相对目录中,但我不能。

我尝试了以下在网上看到的代码:

options = webdriver.ChromeOptions()
options.add_argument("download.default_directory=/folder")
driver = webdriver.Chrome(chrome_options=options)

还有这个:

import webdriver
chrome_options = webdriver.ChromeOptions()
prefs = {'download.default_directory' : '/folder'}
chrome_options.add_experimental_option('prefs', prefs)
driver = webdriver.Chrome(chrome_options=chrome_options)

但它们不起作用。 我也尝试了以下方法,它有点工作,但是必须弹出选择位置窗口,我必须手动单击“选择”

from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("--start-maximized")
prefs = {"profile.default_content_settings.popups": 0,
         "download.default_directory": 
                    r"C:\Users\user_dir\Desktop\\",#IMPORTANT - ENDING SLASH V IMPORTANT
         "directory_upgrade": True}
options.add_experimental_option("prefs", prefs)
browser=webdriver.Chrome(<chromdriver.exe path>, options=options)

有谁知道为什么以及如何解决它?或者是否有任何替代解决方案可以让我知道文件的目录并访问它刚刚下载的文件?

【问题讨论】:

标签: python selenium web-scraping directory download


【解决方案1】:

我不建议使用浏览器下载内容,将其留给 Chrome 开发人员/测试人员,而不是您应该获取 &lt;a&gt; 元素的 href attribute 或您要下载的其他元素的 src 属性使用例如requests library 获取它

如果您从中获取信息的网站需要身份验证,您可以从浏览器获取cookies 并将它们传递给requests.Session 对象。

【讨论】:

    猜你喜欢
    • 2019-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-21
    • 1970-01-01
    • 2016-12-17
    • 1970-01-01
    相关资源
    最近更新 更多