【问题标题】:Selenium Python Chromedriver Change File Download PathSelenium Python Chromedriver 更改文件下载路径
【发布时间】:2016-09-04 15:46:26
【问题描述】:

我正在寻找一种使用 chromedriver 将不同文件保存到 python 中不同位置的方法。下面的代码将 chrome 设置为下载到 folder_path 而不先弹出下载位置对话框。 单击并将一个文件下载到文件夹路径后(我跳过粘贴这部分代码,因为我没有问题),我想将另一个文件下载到 new_folder_path 中。但是下面的代码给了我 AttributeError: 'WebDriver' 对象没有属性 'Chrome'。如果我可以在同一个网络驱动程序下更改 Chrome 的下载位置,有什么想法吗?

folder_path = "C:\\Document"

def give_chrome_option(folder_path):
    chromeOptions = webdriver.ChromeOptions() #setup chrome option
    prefs = {"download.default_directory" : folder_path,
           "download.prompt_for_download": False,
           "download.directory_upgrade": True}  #set path
    chromeOptions.add_experimental_option("prefs", prefs) #set option
    return chromeOptions
driver = webdriver.Chrome(chrome_options = give_chrome_option(folder_path)
driver.get(sample_url)
driver.Chrome(chrome_options = give_chrome_option(new_folder_path))

【问题讨论】:

    标签: python google-chrome selenium download selenium-chromedriver


    【解决方案1】:

    不,如果你想下载到不同的目录,你必须重新实例化 WebDriver。根据您需要做什么,第一个答案here 中描述的解决方法可能适合您(下载到临时目录,然后使用os.rename() 移动文件)

    【讨论】:

    • 这是一个有趣的想法。我应该能够达到相同的结果。我只需要在加载所有文件后添加另一个函数来分配文件。我正在考虑的另一个想法是将 cookie 和文件 url 从 Selenium 传递给 urllib。我不熟悉该过程,但似乎 urllib.retrieve 可以将文件保存到不同的文件夹位置。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-09
    • 2020-05-13
    • 2017-11-27
    • 2019-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多