2013-02-24 41 views
0

如果標題混亂,我很抱歉。通過Ruby構建JavaScript請求

我想抓我的工作的網站更新我的日程安排。我使用機械化Ruby。不過,我已成功登錄到我的工作網站,但登錄後,所有鏈接都是JavaScript鏈接,這與Mechanize不能很好地協作。

經過一番研究,我看到了一些類似問題的建議;我沒有點擊鏈接,而是模仿鏈接正在製作的請求,儘管我不確定如何做到這一點。

鏈接背後的代碼是:

<a href="JavaScript:document.getElementById('schedForm').submit()">My Work Schedule </a> 

如何可能我在Ruby的解決呢?有什麼建議麼?

回答

2

當鏈接被點擊時,它會提交一個表單。 要完成與機械化相同的事情:

page.form(:id => 'schedForm').submit 
+0

簡直不敢相信。非常感謝。我正要使這個項目變得更加艱難。 – Rickmasta 2013-02-25 00:42:48

+0

是的,通常有一個簡單的解決方案。放棄並改用watir幾乎總是一個錯誤。 – pguardiario 2013-02-25 01:26:58

0

據我所知,Mechanize無法進行JavaScript調用。如果您需要與JavaScript交互,我會推薦Watir

+1

Mechanize可以調用JavaScript的URL,但它不能解釋JavaScript。 Watir也不能,但Watir控制的瀏覽器可以,而Watir可以在瀏覽器之前和之後詢問瀏覽器的狀態。 – 2013-02-25 03:05:50

+0

你絕對正確,我沒有正確表達我的答案。 – fmendez 2013-02-25 03:11:04