Как скачать PDF с Celerity, если ссылка на скачивание является функцией javascript? - PullRequest
0 голосов
/ 06 мая 2011

ссылка выглядит так:

    <a onclick="SmartScroller_GetCoords(); openPopup('CaseSearchServlet?_=gyRWOWiixsI4V5mQbu4YDfu9rnZGrO3VQ%2FFvGdRRaSOaCi7%2F9t4X1xttTQ7FK8J6TbhndUjs0vpd%0AZPSDQFaHbLZJ%2FLMVJyeZ', 'History0' , 480, 700);setTimeout('SmartScroller_Scroll()', 2000);" href="#">090416487</a>

Я не могу сделать:

    browser.link(:id, 'pdf').download #=> #<IO:0x11ce78c>

Поскольку нет ссылки на href или любой другой атрибут, на который можно сослаться, но я могу получить полный URL ссылки для скачивания. Так что я могу сделать:

    browser.goto("download link here")

но я получаю:

    Celerity::Exception::UnexpectedPageException: application/pdf

Есть идеи, как это сделать?

1 Ответ

1 голос
/ 11 мая 2011

Ссылка автоматически предлагает вам скачать файл? Если это так, то вы должны быть в состоянии сделать:

io = browser.link(:text, "090416487").download

Например, у меня была такая ссылка:

<a class="plainlink" onclick="document.export_proof_activity_log.submit(); return false;" href="#Export to CSV"><ins class="icon icon_file_csv"></ins>Export to CSV</a>

И сделал:

io = b.link(:text, "Export to CSV").download

И результатом в io было содержимое файла.

...