Greasy Fork

Greasy Fork is available in English.

Kiosk.ac 국룰자동입력기

kiosk 에 자동으로 국룰을 입력하고, 클릭해줍니다.

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Kiosk.ac 국룰자동입력기
// @namespace    http://tampermonkey.net/
// @version      0.27
// @description  kiosk 에 자동으로 국룰을 입력하고, 클릭해줍니다.
// @author       You
// @match        https://kiosk.ac/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=kioskloud.xyz
// @grant        none
// @license      MIT
// ==/UserScript==
'use strict';

const 국룰_PASSWORD = 'smpeople';
const LOAD_DELAY = 500; // 비밀번호 입력전에 브라우저 로딩 대기시간. 느린환경에서는 숫자를 좀 더 크게하면됨 (ms 단위)


const PASSWORD_INPUT_SELECTOR = '#password-dialog input'
const PASSWORD_SUBMIT_SELECTOR = '#password-dialog button.btn'

async function main(){
    await pressPassword();
    await setTimeout(()=>document.querySelector(PASSWORD_INPUT_SELECTOR).value = 국룰_PASSWORD, 1100);
}

window.addEventListener('load',()=>setTimeout(main, LOAD_DELAY));


function pressPassword() {
    document.querySelector(PASSWORD_INPUT_SELECTOR).value = 국룰_PASSWORD;
    document.querySelector(PASSWORD_SUBMIT_SELECTOR).click();
}


async function toCartEtc() {
    await toCart();
    await clickDown();

    function toCart() {
        let items = document.querySelectorAll('.item-container-outer');

        clickEachItem();
        openContextMenu(items);
        clickToCart();

        function clickEachItem(){
            items.forEach(item=>click(item));

            function click(item){
                item.children[0].click();
            }
        }

        function openContextMenu(){
            let firstItem = items[0];
            let firstItemInner = firstItem.children[0];
            let ev = document.createEvent('HTMLEvents');
            ev.initEvent('contextmenu', true, false);
            firstItemInner.dispatchEvent(ev);
        }

        function clickToCart(){
            setTimeout(()=>document.querySelector('.mdc-menu .mdc-deprecated-list-item__text').click(),400);
        }
    }

    async function clickDown(){

        await cartButtonClick();
        setTimeout(downButtonClick,800);

        function cartButtonClick(){
            let cartButton = document.querySelector('.mdc-fab.mdc-ripple-upgraded:nth-child(2)');
            cartButton.click();
        }

        function downButtonClick(){
            let downButton = document.querySelector('.mdc-button.mdc-button--outlined.mdc-ripple-upgraded');
            console.log(`downbutton : ${downButton}`)
            downButton.click();
        }
    }
}