Domanda

vengo da un background scientifico calcolo e hanno alcuni di storia con alcune lingue popolari e non popolari (ad hoc) la programmazione, ma io sono completamente estraneo alla programmazione lato client e JavaScript.

ho scritto un po 'banale JavaScript per le mie impostazioni di Greasemonkey prima, ma questo è tutto.

La mia domanda riguarda: http://www.ise.org/sirketler/sirketler.aspx

Sto cercando di ottenere tutti i dati relativi titoli e le società dalla tabella riportata nella URL di sopra del quale è il sito turco Borsa di Istanbul.

Questi dati vengono dato all'interno di una tabella griglia classificato secondo le lettere che il nome della società inizia e ad un massimo di 10 righe per griglia è dato come si può vedere. Anche in basso a destra della pagina, ci scrive quante pagine è questa informazione è diffusa.

Ad esempio, è possibile chiamare dalla console di Firebug:

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

per ottenere le aziende che iniziano con 'T' e si può navigare le schede di questi tabella mediante l'emissione di:

__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','')

ecc. per il 1 °, 2 ° e 3 pagine di questa tabella, rispettivamente.

Ho provato a serializzare questo mediante l'emissione di metodo __doPostBack() per una determinata serie di lettere e numeri da loro concatenando alla stringa fissa sopra, ma non è riuscito.

Quindi, come posso utilizzare il metodo __doPostBack() e aggiungere tutte queste tabelle secondarie derivanti e ottenere i dati globale?

C'è una risorsa da leggere per questo tipo di attività?

Mi scuso per la mia domanda amatoriale da tutti gli hacker JS.

È stato utile?

Soluzione

Speriamo che questo esempio illuminerà il vostro percorso:

// ==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"));
    }
});
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top