您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Injects a button onto the ChickenPet search page that lets you copy the results to your clipboard.
// ==UserScript== // @name PowderScripts - Copy Search to CSV // @version 2025-06-25 // @description Injects a button onto the ChickenPet search page that lets you copy the results to your clipboard. // @namespace https://github.com/Aviivix/powderscripts // @author You // @match https://chicken.pet/search* // @icon https://github.com/Aviivix/powderscripts/blob/main/tocsv.png?raw=true // @grant none // @license MIT // ==/UserScript== (function() { const results = document.getElementsByClassName("card-simple bg-light") var header = document.getElementsByClassName("row align-items-center g-2")[0] // ugh global variable my behated i need to get better at this csv_string = "" // Yeah this sucks, keep scrolling header.outerHTML = '<div class="row align-items-center g-2"><div class="col-auto"><div class="child-thumb"></div></div><div class="col-4 col-lg-2">Name & owner </div><div class="col-3 col-lg-2"> Age & karyotype</div><div class="col-2 col-lg-1">Status</div><div class="col-9 col-lg-3">Genes</div><div class="col-9 col-lg-3" align="right"><button onclick="(function(){navigator.clipboard.writeText(csv_string);})()" style="front-family: var(--font-lexend); font-weight: bold;">Copy to Clipboard <img src="https://github.com/Aviivix/powderscripts/blob/main/tocsv.png?raw=true" width="32px"></button></div></div>' // Doing it like this because sometime I want to make it so you can customize the arrangement of these var chickens = {} for (let x = 0; x < results.length; x++) { let data = results[x].children[0].children let genes = data[4].innerText.replace("\n", " ").split(" ") let chicken_data = { "id": data[1].children[0].href.match("[0-9]+")[0], "name": data[1].children[0].innerText, "owner": data[1].children[1].children[0].innerText, "age": data[2].innerText.match(".* old")[0], "karyo": data[2].innerText.match(" Z[ZW]+")[0], "base": genes[0], "over": genes[2], "flair": genes[4], "peep": genes[6], "body": genes[8], "comb": genes[10], "eyespot": genes[12], "feet": genes[14], "pattern": genes[16], "tail": genes[18], "wattle": genes[20] } chickens[chicken_data.id] = chicken_data } for (let x = 0; x < Object.keys(chickens).length; x++) { let c = chickens[Object.keys(chickens)[x]] // Yeah this sucks, keep scrolling csv_string += `${c.id}\t${c.name}\t${c.owner}\t${c.age}\t${c.karyo}\t${c.base}\t${c.over}\t${c.flair}\t${c.peep}\t${c.body}\t${c.comb}\t${c.eyespot}\t${c.feet}\t${c.pattern}\t${c.tail}\t${c.wattle}\n` } })();