Я просмотрел довольно много предложений по нажатию на кнопки на веб-страницах, используя python, но не совсем понимаю, что делают примеры, и не могу заставить их работать (особенно порядок и комбинация значения).
Я пытаюсь загрузить PDF-файл с веб-сайта. Когда вы в первый раз щелкаете PDF-файл, чтобы загрузить его, вы попадаете на страницу, где вам нужно нажать «Принять и продолжить». Как только вы это сделаете, браузер сохранит файл Cook ie (так что вам больше не придется соглашаться), а затем откроет PDF-файл в браузере (это то, что я хочу загрузить).
Вот ссылка на страница принятия - https://www.asx.com.au/asx/statistics/displayAnnouncement.do?display=pdf&idsId=02232753 "
Я использовал Chrome Developer, чтобы получить это: -
<form name="showAnnouncementPDFForm" method="post" action="announcementTerms.do">
<input value="Decline" onclick="window.close();return false;" type="submit">
<input value="Agree and proceed" type="submit">
<input name="pdfURL" value="/asxpdf/20200506/pdf/44hlvnb8k3n3f8.pdf" type="hidden">
</form>
и это это последняя страница, на которую вы попадете: - "https://www.asx.com.au/asxpdf/20200506/pdf/44hlvnb8k3n3f8.pdf"
затем попытался использовать это следующим образом: -
import requests
values = {}
values['showAnnouncementRDFForm'] = 'announcementTerms.do'
values['pdfURL'] = '/asxpdf/20200506/pdf/44hlvnb8k3n3f8.pdf'
req = requests.post('https://asx.com.au/', data=values)
print(req.text)
Я пробовал разные URL-адреса и изменил те значения, которые я предоставляю, но я не думаю, что это работает правильно. Печать в конце дает мне то, что выглядит как HTML в виде веб-страницы. Я не совсем уверен, что это такое, поскольку я выполняя это из командной строки сервера, я sh в (Пи). Но я уверен, что это не тот PDF-файл, который мне нужен.
В качестве окончательного решения я бы Например, код python, чтобы сделать, это взять ссылку PDF, автоматически принять и продолжить, сохранить повар ie рядом, чтобы избежать будущих одобрений, а затем загрузить PDF.
Надеюсь, Это имело смысл, и спасибо, что нашли время прочитать мой вопрос.
Маркус