您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Extract the Topics of a LeetCode question as a string
您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
- // ==UserScript==
- // @name Extract LeetCode Question Topics
- // @namespace http://tampermonkey.net/
- // @version 2024-02-22
- // @description Extract the Topics of a LeetCode question as a string
- // @author NeraSnow
- // @match https://leetcode.com/problems/*
- // @icon https://www.google.com/s2/favicons?sz=64&domain=leetcode.com
- // @grant none
- // @license MIT
- // ==/UserScript==
- // Function to get the text content of <a> elements inside the specified <div>
- function getTextContent() {
- // Select the div element
- const divElement = document.querySelector('.mt-2.flex.gap-1.pl-7');
- // Select all the <a> elements inside the div
- const aElements = divElement.querySelectorAll('a');
- // Create an array to store the text content of each <a> element
- const textArray = [];
- // Iterate over each <a> element and store its text content in the array
- aElements.forEach((a) => {
- textArray.push(`"${a.textContent}"`);
- });
- // Log the array to the console (you can do other things with the array here)
- copyToClipboard(`"topic": [${textArray}]`,)
- }
- function copyToClipboard(text) {
- navigator.clipboard.writeText(text)
- .then(() => {
- console.log('Text successfully copied to clipboard');
- })
- .catch((err) => {
- console.error('Unable to copy text to clipboard', err);
- });
- }
- // Create a button element
- const buttonElement = document.createElement('button');
- buttonElement.textContent = 'Get Topics';
- // Add an onClick event listener to the button, linking it to the getTextContent function
- buttonElement.addEventListener('click', getTextContent);
- // Add styles to make the button a floating element
- buttonElement.style.position = 'fixed';
- buttonElement.style.top = '13px'; // Adjust the top position as needed
- buttonElement.style.right = '450px'; // Adjust the right position as needed
- buttonElement.style.zIndex = '9999'; // Ensure it's on top of other elements
- buttonElement.style.backgroundColor = 'rgba(255, 255, 255, 0.5)'; // 50% transparent white background
- // Add an onClick event listener to the button, linking it to the getTextContent function
- buttonElement.addEventListener('click', getTextContent);
- function doStuff() {
- // Select the div with the specified class
- // const targetDivElement = document.querySelector('.relative.ml-4.flex.items-center.gap-2');
- // console.log(targetDivElement);
- // Prepend the button to the selected div
- document.body.prepend(buttonElement);
- }
- doStuff();