如何使用python和Selenium Webdriver更改下载位置

时间:2018-08-28 04:08:58

标签: python selenium webdriver selenium-chromedriver

我已经编写了代码,可以在每个区域和地点每年数年内下载文件。但是,由于无法通过硒更改文件的名称,因此我希望将每个位置的文件下载到单独的文件夹中。这是我的代码

        options = webdriver.ChromeOptions()
        options.add_argument('download.default_directory=/Users/name/Downloads/' + p)
        driver = webdriver.Chrome(chrome_options=options, executable_path="/Users/name/Downloads/chromedriver")
        driver.get("https://jpwebsite.harriscountytx.gov/PublicExtracts/search.jsp")

其中p是特定区域和地点的ID。不幸的是,文件已下载到/Users/name/Downloads。我已经将chromedriver添加到PATH中,并且刚刚使用

driver = webdriver.Chrome(chrome_options=options)

但这给了我这个:

[Errno 2] No such file or directory. 

我在做什么错?谢谢!

3 个答案:

答案 0 :(得分:0)

您可以使用时间戳创建新目录。对于带有prompt_for_downloaddirectory_upgrade参数的镶边选项,也可以使用首选项字典。请尝试以下示例:

    from selenium import webdriver
    import time
    timestr = time.strftime("%Y%m%d-%H%M%S")

    options = webdriver.ChromeOptions()

    prefs = {
    "download.default_directory": r"C:\Users\XXXX\downdir\stamp"+timestr,
    "download.prompt_for_download": False,
    "download.directory_upgrade": True
    }

    options.add_experimental_option('prefs', prefs)
    driver = webdriver.Chrome(chrome_options=options)
    driver.get("https://jpwebsite.harriscountytx.gov/PublicExtracts/search.jsp")

答案 1 :(得分:0)

尝试一下,它将顺利运行

import webdriver
chrome_options = webdriver.ChromeOptions()

prefs = {'download.default_directory' : 'path for your folder that you want'}
chrome_options.add_experimental_option('prefs', prefs)

driver = webdriver.Chrome(chrome_options=chrome_options)

答案 2 :(得分:-1)

尝试使用此代码对我有用,只需为chrome创建配置文件并定义测试的下载位置

from selenium import webdriver

options = webdriver.ChromeOptions() 
options.add_argument("download.default_directory=D:/Sele_Downloads")

driver = webdriver.Chrome(chrome_options=options)
driver.get("https://jpwebsite.harriscountytx.gov/PublicExtracts/search.jsp")
相关问题