Javascript 如何编写Greasemonkey脚本来处理_udopostback()

Javascript 如何编写Greasemonkey脚本来处理_udopostback(),javascript,greasemonkey,dopostback,Javascript,Greasemonkey,Dopostback,我来自科学计算背景,对一些流行和非流行(即席)编程语言有一定的历史,但我对客户端编程和JavaScript完全陌生 我以前为我的Greasemonkey设置编写过一些简单的JavaScript,但仅此而已 我的问题涉及: 我试图从上面的URL(土耳其斯坦布尔证券交易所的网站)中给出的表格中获取有关证券和公司的所有数据 该数据在根据公司名称开头字母分类的表格中给出,每个表格最多给出10行,如图所示。同样在页面的右下角,写着这些信息传播了多少页 例如,您可以从Firebug控制台调用: __doPo

我来自科学计算背景,对一些流行和非流行(即席)编程语言有一定的历史,但我对客户端编程和JavaScript完全陌生

我以前为我的Greasemonkey设置编写过一些简单的JavaScript,但仅此而已

我的问题涉及:

我试图从上面的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页使用

我试图通过将给定的字母和数字数组连接到上面的固定字符串,为其发出
\uuu doPostBack()
方法来序列化此操作,但没有成功

那么,我如何使用
\uu doPostBack()
方法附加所有这些生成的子表并获得总体数据呢

对于此类任务,是否有可阅读的资源


对于所有JS黑客提出的业余问题,我深表歉意。

希望此示例能启发您:

// ==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"));
    }
});

那么你的意思是希望整个数据结果(例如来自多个页面)作为一个表显示在页面上?是的,没错。然后从我的应用程序中进一步访问它们或将它们保存到磁盘。>“进一步访问它们”是指您希望它仍然可以排序?实际上这并不重要。正如您之前所建议的,将它们显示为一张表就足够了(甚至可怕)。我的意思是,按某物排序并不重要。我非常感谢您为此所做的努力,但它没有起作用。我已将其安装为GreaseMonkey用户脚本,但该页面上没有任何更改。你能解释一下如何使用这个脚本吗?复制代码并保存为.user.js,然后将文件拖放到firefox中。安装后,请转到。将弹出一个警报窗口,其中包含所需的结果数据