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

1

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

        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. 

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

Теги:
selenium
webdriver
selenium-chromedriver

2 ответа

0

Вы можете использовать временную метку для создания нового каталога. Также используйте словарь предпочтений для chrome options с параметрами 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
    Работает нормально, вы можете объяснить обновление каталога?
  • 0
    Это связано с изменением в директории загрузки посредством обновления. см. полную документацию по этой ссылке: cs.chromium.org/chromium/src/chrome/common/pref_names.cc
-1

Попробуйте этот код, он работает для меня, просто создайте профиль для хрома и определите местоположение загрузки для тестов

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")

Ещё вопросы

Сообщество Overcoder
Наверх
Меню