Усовершенствованная очистка экрана с помощью curl - PullRequest
0 голосов
/ 08 января 2012

Мне нужно создать скрипт, который будет входить на аутентифицированную страницу и загружать PDF.

Однако PDF-файл, который мне нужно скачать, не находится по URL-адресу, а создается при нажатии на конкретную кнопку input на странице. Когда я проверяю исходный код HTML, он дает мне только URL-адрес графического изображения кнопки и некоторые неясные name кнопки input и action=".".

Кроме того, URL, где находится кнопка, и имя формы скрыты, например:

  • url = /WebObjects/MyStore.woa/wo/5.2.0.5.7.3
  • имя входа = 0.0.5.7.1.1.11.19.1.13.13.1.1

Как мне войти на страницу, «нажать» на эту кнопку и загрузить файл pdf в сценарии?

Ответы [ 4 ]

3 голосов
/ 08 января 2012

Может быть Механизировать * Модуль 1002 * может помочь.

Я думаю, что URL при нажатии кнопки может быть сгенерирован с использованием javascript. Итак, чтобы запустить код javascript из скрипта python, взгляните на Spidermonkey .

2 голосов
/ 08 января 2012

Попробуйте механизировать или саржа. HttpFox или firebug могут помочь вам построить ваши запросы. Помните, что вы также можете выбирать куки из браузера и использовать их позже с py libs. Если код сгенерирован javascript, его можно «перепроектировать». Если нет, вы можете запустить интерпретацию JavaScript или использовать селен или ветряную мельницу для написания скриптов в реальном браузере.

1 голос
/ 08 января 2012

Вы могли наблюдать, какие запросы делаются, когда вы нажимаете кнопку (используя Firebug в Firefox или Инструменты разработчика в Chrome). После этого вы сможете запросить PDF-файл напрямую.

Трудно помочь, не увидев страницу, о которой идет речь.

0 голосов
/ 08 января 2012

Как сказал Acorn, вы должны попытаться отслеживать фактические запросы и посмотреть, сможете ли вы найти шаблон.

Если нет, то лучше всего на самом деле автоматизировать полнофункциональный браузер, который сможет запускать Javascript, так что вы точно подражаете действиям обычного пользователя. Взгляните на эту страницу в Python Wiki за идеями, посмотрите раздел Оболочки Python вокруг веб-"библиотек" и технологии браузера .

...