您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
A helper to start and terminate the colab session
- // ==UserScript==
- // @name ColabHelper
- // @namespace http://tampermonkey.net/
- // @version 0.1
- // @description A helper to start and terminate the colab session
- // @author You
- // @match https://colab.research.google.com/drive/*
- // @icon https://www.google.com/s2/favicons?domain=colab.research.google.com
- // @grant none
- // ==/UserScript==
- var zNode = document.createElement ('div');
- zNode.innerHTML = '<button id="startButton" type="button">Start</button> <button id="closeButton" type="button">Close</button>';
- zNode.setAttribute ('id', 'myContainer');
- document.body.appendChild (zNode);
- //--- Activate the newly added button.
- document.getElementById ("startButton").addEventListener (
- "click", startButtonClickAction, false
- );
- document.getElementById ("closeButton").addEventListener (
- "click", endButtonClickAction, false
- );
- function startButtonClickAction (zEvent) {
- /*--- For our dummy action, we'll just add a line of text to the top
- of the screen.
- */
- var zNode = document.createElement ('p');
- document.getElementById ("myContainer").appendChild (zNode);
- document.querySelector("colab-run-button").click();
- }
- function endButtonClickAction (zEvent) {
- end();
- }
- //Sleep function
- const sleep = (milliseconds) => {
- return new Promise(resolve => setTimeout(resolve, milliseconds))
- }
- //End function
- const end = async () => {
- //Click on menu button
- document.querySelector("#top-toolbar > colab-connect-button").shadowRoot.querySelector("#connect").click();
- await sleep(500);
- //Click on manage sessions
- document.querySelector("colab-usage-display").shadowRoot.querySelector("div paper-button").click();
- await sleep(2000);
- //Click on terminate session
- //document.querySelector("body > colab-dialog > paper-dialog > colab-sessions-dialog").shadowRoot.querySelector("div.dialog-main-content > div.sessions-content.layout.vertical > div.dialog-table > colab-session > div.button-action-column > paper-icon-button").click()
- document.querySelector("body > colab-dialog > paper-dialog > colab-sessions-dialog").shadowRoot.querySelector("div.dialog-main-content > div.sessions-content.layout.vertical > div.dialog-table > colab-session > div.button-action-column > paper-button").click();
- await sleep(1000);
- //Click on okay buttom if prompted
- try {
- document.querySelector("#ok").click();
- // await sleep(1000);
- }
- catch(err) {
- console.log('No okay button')
- }
- document.querySelector("body > colab-dialog > paper-dialog > colab-sessions-dialog").shadowRoot.querySelector("paper-button.dismiss").click()
- await sleep(1000);
- //document.querySelector("colab-usage-display").shadowRoot.querySelector("div paper-button").click();
- }