Как написать сценарий Greasemonkey для обработки __dootbackback ()

StackOverflow https://stackoverflow.com/questions/4072142

Вопрос

Я приезжаю из научного вычисления фона и иметь некоторую историю с некоторыми популярными и непопулярными (специальными) программированными языками программирования, но я полностью чужой к программированию клиента и JavaScript.

Я написал несколько тривиальных JavaScript для моих настроек Greasemonkey, но это все.

Мой вопрос касается: 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.

Это было полезно?

Решение

Надеюсь, этот пример будет просвещать ваш путь:

// ==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"));
    }
});
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top