GEE一键自动点击运行

代替人工一次性点击所有任务的run按钮,已升级可以批量导出表格

// ==UserScript==
// @name          GEE一键自动点击运行
// @namespace    https://code.earthengine.google.com/
// @version      0.8
// @description  代替人工一次性点击所有任务的run按钮,已升级可以批量导出表格
// @author       You
// @match        https://code.earthengine.google.com/*
// @icon         https://code.earthengine.google.com/images/bigicon.png
// @grant        none
// @require      https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js
// ==/UserScript==

(function () {
    'use strict';
    function sleep(ms) {
        return new Promise(resolve => setTimeout(resolve, ms));
    }

    async function monitor() {
        while (true) {
            console.log("check one")
            if (document.querySelector("body > iron-overlay-backdrop") == null) {
                return new Promise((resolve, reject)=>{
                    resolve(0)
                });
            }
            await sleep(1000)
        }
    }

    // Your code here...
    async function runTaskListV2() {
        var runButtons = document.querySelector('#task-pane').shadowRoot.querySelectorAll(".run-button")
        var len = runButtons.length
        for (var i=0;i<len;i++) {
            var e = runButtons[0]
            e.click();
            await sleep(1500)
            // console.log("bu!")
            try {
                // console.log("img!")
                // var taskDialog = document.querySelectorAll("ee-image-config-dialog")
                // taskDialog.forEach(function (e) { e.shadowRoot.querySelector("ee-dialog").shadowRoot.querySelector("paper-dialog").querySelector(".ok-button").click() })
                document.querySelector("body > ee-image-config-dialog").shadowRoot.querySelector("ee-dialog").shadowRoot.querySelector("paper-dialog > div.buttons > ee-button.ok-button").click()
            } catch (error) {
                console.log("bu!")
                document.querySelector("body > ee-table-config-dialog").shadowRoot.querySelector("ee-dialog").shadowRoot.querySelector("paper-dialog > div.buttons > ee-button.ok-button").click()
            }
            // var all_ok = document.querySelectorAll('ee-table-config-dialog')
            // all_ok.forEach(function (e) {
            //     e.shadowRoot.querySelector("ee-dialog").shadowRoot.querySelector("paper-dialog > div.buttons > ee-button.ok-button").click()
            // console.log(all_ok)
            // })
            console.log("check one")
            await monitor()
            runButtons = document.querySelector('#task-pane').shadowRoot.querySelectorAll(".run-button")
            // await sleep(10000)
        }
        // runButtons.forEach(async function (e) {

        // })
    }

    function runTaskList() {
        var runButtons = document.querySelector('#task-pane').shadowRoot.querySelectorAll(".run-button")
        runButtons.forEach(function (e) {
            e.click();

        })
    }

    function stopTaskList() {
        var tasklist = document.getElementsByClassName('task remote type-EXPORT_IMAGE submitted-to-backend');
        for (var i = 0; i < tasklist.length; i++)
            tasklist[i].getElementsByClassName('indicator')[0].click();
    }

    function confirmAll() {
        var ok = document.getElementsByClassName('goog-buttonset-default goog-buttonset-action');
        for (var i = 0; i < ok.length; i++)
            ok[i].click();
    }

    $("#main > div.goog-splitpane > div.goog-splitpane-first-container > div > div.goog-splitpane-first-container > div > div.goog-splitpane-second-container > div > div.header > div")
        .append("<button class='goog-button link-button' style='color:#4888ef' id='run-muti'>Auto-Run</button>")
    // $("body")
    //     .append("<div style='position:fixed;z-index:999;width:250px;heigh:90px;top:15px;right:400px;display:flex'id='cancel_muti'><button class='goog-button link-button' style='color:#4888ef;margin-left: 5px;' id='Muti-Run-Table'>Muti-Run-Table</button></div>")
    $("#run-muti").click(function () {
        console.log("开始执行")
        runTaskListV2()
        // setTimeout(
        //     function () {
        //         var taskDialog = document.querySelectorAll("ee-image-config-dialog")
        //         taskDialog.forEach(function (e) { e.shadowRoot.querySelector("ee-dialog").shadowRoot.querySelector("paper-dialog").querySelector(".ok-button").click() })
        //     }, 2 * 1000);

    });
    // $("#Muti-Run-Table").click(function () {
    //     var all_ok = document.querySelectorAll('ee-table-config-dialog')
    //     all_ok.forEach(function (e) {
    //         e.shadowRoot.querySelector("ee-dialog").shadowRoot.querySelector("paper-dialog > div.buttons > ee-button.ok-button").click()
    //     })
    // })

    // // auto cancel
    // $("#main > div.goog-splitpane > div.goog-splitpane-first-container > div > div.goog-splitpane-first-container > div > div.goog-splitpane-second-container > div > div.header > div")
    //         .append("<button class='goog-button link-button' style='color:red' id='run-cancel'>Audo-CL</button>")
    // $("#run-cancel").click(function(){
    //     console.log("开始执行cancel");
    //     stopTaskList();
    //     confirmAll();
    // })
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址