selenium в фоновом режиме скачивает файлы не в ту директорию
Столкнулся с проблемой при исполнении кода в фоновом режиме. Необходимо сохранять скаченные файлы именно в ту папку которую указал пользователь.
Все работает исправно пока не включаешь работу в фоновом режиме - он начинает скачивать файлы либо в папку где находится исполняемый файл, либо в папку где он до этого находился, но не по указанному пути пользователя.
В чем может быть причина?
class Downloader:
def __init__(self, url, download_dir):
self.url = url
self.download_dir = download_dir
self.user = fake_useragent.UserAgent().random
self.options = webdriver.ChromeOptions()
self.options.add_argument(f'"user-agent": {self.user}')
self.options.add_experimental_option('prefs', {
'download.default_directory': self.download_dir,
'download.prompt_for_download': False,
'download.directory_upgrade': True,
'safebrowsing.enabled': True
})
self.options.add_argument("headless") #___активация фонового режима___
self.driver = webdriver.Chrome(options=self.options)
def download_elements(self):
try:
self.driver.get(self.url)
website_docs = self.driver.find_elements(By.CLASS_NAME, 'attachments-list__item__buttons__left-col')
for dow_doc in website_docs:
dow_doc.click()
downloaded_files = os.listdir(self.download_dir)
return downloaded_files
except Exception as ex:
print(ex)
finally:
self.driver.close()
self.driver.quit()
# Пример использования
downloader = Downloader(
"https://torgi.gov.ru/new/public/lots/lot/22000010210000000915_1/(lotInfo:docs)?fromRec=false#lotInfoSection-docs",
"/Users/bender/PycharmProjects/auction_manager/garag/")
downloaded_files = downloader.download_elements()
print(downloaded_files)
Источник: Stack Overflow на русском