当下载链接是javascript函数时,如何使用Celerity下载pdf?

时间:2011-05-06 00:57:59

标签: ruby celerity

链接看起来像这样:

    <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 个答案:

答案 0 :(得分:1)

链接是否会自动提示您下载文件?如果是这样,那么你应该能够做到:

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中的结果是文件内容。