您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Add the pass rate of Leetcode problems
当前为
您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
- // ==UserScript==
- // @name Leetcode problem pass rate
- // @namespace https://github.com/rustberry
- // @version 0.1
- // @description Add the pass rate of Leetcode problems
- // @author Rust
- // @match https://leetcode.com/problems/*
- // @grant none
- // ==/UserScript==
- (function() {
- 'use strict';
- function addRate() {
- let arr = document.querySelectorAll(".css-oqu510")
- console.log(arr)
- var ac = arr[0].lastElementChild.textContent
- var sub = arr[1].lastElementChild.textContent
- console.log(ac, sub)
- ac = parseInt(ac.replace(/,/g, ''))
- sub = parseInt(sub.replace(/,/g, ''))
- console.log(ac, sub)
- var res = ac/sub * 100
- res = res.toPrecision(4) + "%"
- var parent = document.querySelector("#app > div > div.main__2_tD > div.content__3fR6 > div > div.side-tools-wrapper__1TS9 > div > div.css-9z7f7i-Container.e5i1odf0 > div.css-jtoecv > div > div.tab-pane__ncJk.css-xailxq-TabContent.e5i1odf5 > div > div:nth-child(3) > div.css-12aggky")
- var html =
- '<div class="css-oqu510"><div class="css-y3si18">Rate</div><div class="css-jkjiwi">'
- + res + '</div></div>'
- parent.insertAdjacentHTML('beforeend', html)
- }
- function waitForElement(selector) {
- var timeout = 60000 // wait for at most 1 minute
- var start = performance.now();
- var now = 0;
- return new Promise(function (resolve, reject) {
- var interval = setInterval(function () {
- var element = document.querySelectorAll(selector);
- if (element !== null && element.length >= 2) {
- clearInterval(interval);
- console.log("Exists!");
- addRate()
- resolve();
- }
- now = performance.now();
- if (now - start >= timeout) {
- reject("Could not find the element " + selector + " within " + timeout + " ms");
- }
- }, 100); // check every 100ms
- });
- }
- waitForElement(".css-oqu510")
- })();