2010-11-01 56 views
0

我來自科學計算背景,並且有一些流行和非流行(ad hoc)編程語言的歷史,但我對客戶端完全陌生編程和JavaScript。如何編寫一個Greasemonkey腳本來處理__doPostBack()

我已經爲我的Greasemonkey設置寫了一些簡單的JavaScript,但僅此而已。

我的問題的擔憂:http://www.ise.org/sirketler/sirketler.aspx

我試圖讓所有關於從上述這是土耳其伊斯坦布爾證券交易所的網站的URL給出的表證券公司的數據。

該數據在根據公司名稱開頭的字母進行分類的網格表中給出,每個網格最多可以顯示10行,這是可以看到的。同樣在頁面的右下方,會顯示此信息傳播的頁數。

例如,你可以從Firebug控制檯呼叫:

__doPostBack('ctl00$cphContent$ctl00$lbtnT','') 

用於獲取公司以「T」,你可以通過發出瀏覽這些表的選項卡:

__doPostBack('ctl00$cphContent$ctl00$radGridSirketler$ctl00$ctl03$ctl01$ctl05','') 
__doPostBack('ctl00$cphContent$ctl00$radGridSirketler$ctl00$ctl03$ctl01$ctl07','') 
__doPostBack('ctl00$cphContent$ctl00$radGridSirketler$ctl00$ctl03$ctl01$ctl09','') 

本表第1,第2和第3頁分別爲。

我試圖通過發出__doPostBack()方法對給定的字母和數字數組進行序列化,方法是將它們連接到上面的固定字符串,但它沒有成功。

那麼如何使用__doPostBack()方法並追加所有這些結果子表並獲取整體數據呢?

是否有資源來閱讀這種類型的任務?

我對所有JS黑客的業餘問題表示歉意。

+0

所以,你的意思是你想要的整體數據結果(例如,從多頁)頁面上顯示爲一個單一的表? – 2010-11-01 19:10:08

+0

是的,確切地說。然後從我的應用程序進一步訪問它們或將它們保存到磁盤。 – oakenshield1 2010-11-01 19:16:41

+0

> *「進一步訪問它們」*所以你的意思是你想讓它仍然可以排序? – 2010-11-01 19:41:54

回答

1

希望這個例子將啓發你的路徑:

// ==UserScript== 
// @name   Examples : sirketler 
// @namespace  http://gm.wesley.eti.br/examples 
// @description Simulation of an aspx PostBack request 
// @include  http://www.ise.org/sirketler/sirketler.aspx 
// @require  http://userscripts.org/scripts/source/63808.user.js 
// @require  http://userscripts.org/scripts/source/89515.user.js 
// ==/UserScript== 

AspxPostBackRequest({ 
    "url" : "http://www.ise.org/sirketler/sirketler.aspx", 
    "manager" : "ctl00$ScriptManager1", 
    "eventTarget" : "ctl00$cphContent$ctl00$lbtnT", 
    "callback" : function(xhr) 
    { 
     var content = document.createElement("div"); 
     content.innerHTML = xhr.responseText.split("|")[3]; 

     alert(xpath("./div/table/tbody/tr", content).map(function(row) 
     { 
      return [].slice.call(row.cells).map(function(col) 
      { 
       return col.textContent.replace(/^\s+|\s+$/gm, ""); 
      }); 
     }).join("\n")); 
    } 
}); 
+0

我真的很感謝你爲這個素描做出的努力,但它沒有奏效。我已經將它安裝爲GreaseMonkey用戶腳本,但在該頁面上沒有任何更改。你能否解釋一下如何使用這個腳本? – oakenshield1 2010-11-03 09:30:57

+0

複製代碼並將其保存爲.user.js,然後將文件拖放到Firefox中。一旦安裝,請訪問http://www.ise.org/sirketler/sirketler.aspx。一個警告窗口應彈出與你想要的結果數據 – w35l3y 2010-11-07 19:50:27

+0

它的工作原理,非常感謝! – oakenshield1 2011-08-14 21:23:48

相關問題