Как написать сценарий Greasemonkey для обработки __dootbackback ()
-
28-09-2019 - |
Вопрос
Я приезжаю из научного вычисления фона и иметь некоторую историю с некоторыми популярными и непопулярными (специальными) программированными языками программирования, но я полностью чужой к программированию клиента и 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"));
}
});