您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Automate entering episode data into a TVDB season
- // ==UserScript==
- // @name TVDB Episode Input Automation
- // @match https://thetvdb.com/series/*/seasons/*/bulkadd
- // @description Automate entering episode data into a TVDB season
- // @license AGPL
- // @version 0.0.1.20241126225939
- // @namespace https://greasyfork.org/users/937339
- // ==/UserScript==
- const episodeData = [
- {
- number: '4',
- name: 'American Stepdad',
- overview: 'When Stan invites his recently widowed mother to move in, she and Roger fall in love and wed; Steve and his friends find a lost movie script.',
- date: '2012-11-18',
- runtime: 25
- },
- {
- number: '5',
- name: "Why Can't We Be Friends?",
- overview: "When Stan decides that Snot isn't cool enough to be Steve's best friend, he tries to separate them by staging a shooting at an ice cream parlor.",
- date: '2012-12-5',
- runtime: 25
- }
- ];
- function fillEpisodeData(episodes) {
- // Get all episode rows
- const rows = document.querySelectorAll('.multirow-item');
- episodes.forEach((episode, index) => {
- if (index >= rows.length - 1) {
- // Click "Add Another" button if we need more rows
- document.querySelector('.multirow-add').click();
- }
- const row = document.querySelectorAll('.multirow-item')[index];
- // Fill episode number
- row.querySelector('input[name="number[]"]').value = episode.number;
- // Fill episode name
- row.querySelector('input[name="name[]"]').value = episode.name;
- // Fill overview
- row.querySelector('textarea[name="overview[]"]').value = episode.overview;
- // Fill date
- if (episode.date) {
- row.querySelector('input[name="date[]"]').value = episode.date;
- }
- // Fill runtime
- if (episode.runtime) {
- row.querySelector('input[name="runtime[]"]').value = episode.runtime;
- }
- });
- }
- // Add button to trigger the fill
- const btn = document.createElement('button');
- btn.innerText = 'Auto-fill Episodes';
- btn.style.position = 'fixed';
- btn.style.top = '10px';
- btn.style.right = '10px';
- btn.style.zIndex = '9999';
- btn.onclick = () => fillEpisodeData(episodeData);
- document.body.appendChild(btn);