Как изменить место загрузки с помощью веб-драйвера python и selenium - PullRequest
0 голосов
/ 28 августа 2018

Я написал код для загрузки файлов для каждого месяца в диапазоне лет для каждого района и места. Однако, так как я не могу изменить имя файлов с помощью selenium, я надеялся загрузить файлы каждого места в отдельную папку. Вот мой код

        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 - идентификатор конкретного участка и места. К сожалению, файлы загружаются на /Users/name/Downloads. Я добавил chromedriver в PATH и просто использовал

driver = webdriver.Chrome(chrome_options=options)

но это дает мне это:

[Errno 2] No such file or directory. 

Что я делаю не так? Спасибо!

Ответы [ 2 ]

0 голосов
/ 28 августа 2018

Вы можете использовать метку времени для создания нового каталога. Также используйте словарь настроек для параметров Chrome с параметрами prompt_for_download и directory_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")
0 голосов
/ 28 августа 2018

Попробуйте этот код, он работает для меня, просто создайте профиль для 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")
...