скрипт greasemonkey, который выводит все данные, соответствующие xpath - PullRequest
2 голосов
/ 06 июня 2009

Я хотел бы написать сценарий greasemonkey, который с учетом xpath возвращает весь вывод этого xpath, выполненного на текущей странице, в файле .txt с одним результатом на строку.

Как мне это сделать?

РЕДАКТИРОВАТЬ: все нормально, если вывод не записывается в файл. Я просто хочу, чтобы это отображалось.

1 Ответ

1 голос
/ 06 июня 2009

Вот пример, который добавляет список всех ссылок href в тело html. Вы можете сделать это со стилем, сделать его скрытым, плавающим и т. Д.

// ==UserScript==
// @name           test
// @namespace      johnweldon.com
// @description    test
// @include        *
// ==/UserScript==

(function() { 
    try {
        var xpath = "//a[@href]";                // get all links
        var res = document.evaluate(xpath, document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,  null);
        var str = "<div><ul>";
        for ( var i = 0; i < res.snapshotLength; i++) {
            str = str + "\n<li>" + res.snapshotItem(i);
        }
        str += "</ul></div>";

        var ev = document.createElement("div");  // parent element for our display
        ev.innerHTML = str;                      //quick and dirty
        document.body.appendChild(ev);
    }
    catch (e) {
        alert(e.message);
    }
}())
...