Как загрузить и сохранить файл в формате.pdf из ссылки на форму, ведущую к окончанию URL ".do" с использованием Python 3
Я пытаюсь загрузить и переименовать файлы, расположенные через ссылку в форме следующей структуры, используя веб-драйвер Chrome и Selenium с Python 3:
<form name="resultDisplyForm" action="/muni/report.do" method="post" target="_blank">
<input type="hidden" name="doc_rsn">
<input type="submit" value="Audit report for the fiscal year 2004" onclick="this.form.doc_rsn.value='1557'" name="DOC:1557">
</form>
Поскольку ссылки являются динамическими и нет явного URL-адреса файла, это будет непросто.
Данные находятся по адресу: https://secure.sos.state.or.us/muni/public.do. Выберите "BAKER" в раскрывающемся списке округа, затем нажмите "Поиск". Нажмите на одну из ссылок "Аудиторский отчет за 2004 финансовый год". Это должно открыть общую страницу https://secure.sos.state.or.us/muni/report.do в новой вкладке.
Теперь, что я хотел бы сделать с помощью библиотек Selenium/Python, - это автоматизировать ключевые действия "ctrl + S", переименовать документ и нажать "сохранить / ввести", чтобы загрузить его.
Любые предложения относительно того, как это можно сделать?
Следующая стратегия иногда успешно загружает файл, но она ненадежна:
actionChains = ActionChains(driver)
actionChains.context_click(link).send_keys(Keys.RETURN).perform()
pyautogui.mouseDown(button='right') # press the right button down
pyautogui.mouseUp(button='right')
time.sleep(1)
pyautogui.press(['down', 'down'])
time.sleep(1)
pyautogui.click(button='left')
time.sleep(1)
pyautogui.press('enter')