Greasy Fork 支持简体中文。

Export Dreamborn Collection

Extract Dreamborn Colletion as CSV

// ==UserScript==
// @name         Export Dreamborn Collection
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Extract Dreamborn Colletion as CSV
// @author       Dralliev
// @match        https://dreamborn.ink/*/collection
// @icon         https://www.google.com/s2/favicons?sz=64&domain=dreamborn.ink
// @grant        none
// ==/UserScript==


function addButton() {
    var button = document.createElement('button');
    button.classList.add("btn-primary");
    button.innerText = "Export to CSV";
    button.style.cssText += "margin-left:5px;";
    var buttonInsertNode = document.querySelector("div.p-3 > div > div.grow");
    buttonInsertNode.append(button);
    button.addEventListener ("click", exportToCsv, false);

}

function waitForData() {
    if(document.querySelector("div.p-3 > div:nth-child(4) > div") != null) {
        addButton();
    }else {
        setTimeout(waitForData, 200);
    }
}

function exportToCsv() {
    var cards = document.querySelectorAll("div.p-3 > div:nth-child(4) > div");
    let csv = "";
    cards.forEach((c) => {
        let qt = c.querySelector("input").value;
        let qtFoil = c.querySelector("span > input").value;
        let fullName = c.querySelector("a").text;
        let nameParts = fullName.split(": ");
        let number = nameParts[0];
        let name = nameParts[1];
        let data = {
            'qt': qt,
            'qtFoil': qtFoil,
            'number': number,
            'name': name,
        }
        csv += qt+","+qtFoil+","+number+","+name+"\n";
    });
    console.log(csv);
    navigator.clipboard.writeText(csv);
    window.alert("CSV copied to clipboard, paste it where you want");
}

(function() {
    'use strict';
    waitForData();
})();