Итого нашел временные меры:
1. Для сохранения сессии копирую каталог, но т.к. некоторые файлы заняты процессом пришлось оборачивать блоков try-except. Хорошо, что именно файлы отвечающие за сохранение сессии успевают скопироваться, хотя в целом решение так себе:
path_file = open('D:/Develop/redirect_watotg/geckodriver.log')
matches = []
for line in path_file:
if line.count('rust_mozprofile'):
matches.append(line)
profile_path = 'C:/Users/kshnk/AppData/Local/Temp/' + matches[-1].split('\"')[-2].split('\\')[-1]
print(profile_path)
shutil.rmtree('D:/Develop/redirect_watotg/Profile')
try:
shutil.copytree(profile_path, 'D:/Develop/redirect_watotg/Profile/')
except shutil.Error as e:
print(e)
2. С именем скачанного файла чуть проще:
Перед вызовом функции загрузки файла:
before = os.listdir('D:/Downloads')
И после того, как функция завершила работу:
after = os.listdir('D:/Downloads')
difference = set(after) - set(before)
if len(difference) == 1:
file_name = difference.pop()
print(file_name)
return file_name
else:
return False
Надеюсь со временем найду более правильные решения, если будет актуально.