Skip to content

Instantly share code, notes, and snippets.

@tayiorbeii
Created December 15, 2022 17:45
Show Gist options
  • Save tayiorbeii/8fcc437f512a2275ebf7de2a111742e4 to your computer and use it in GitHub Desktop.
Save tayiorbeii/8fcc437f512a2275ebf7de2a111742e4 to your computer and use it in GitHub Desktop.
// ==UserScript==
// @name Copy Green Text on OpenAI Playground
// @version 0.1
// @description Create a button that copies the text of all green spans on a page
// @match https://beta.openai.com/playground
// @icon https://www.google.com/s2/favicons?sz=64&domain=openai.com
// @author Taylor Bell
// @grant none
// ==/UserScript==
(function() {
'use strict';
// Create the button
window.onload = function() {
const button = document.createElement('button');
button.innerText = 'Copy Green Text';
// Add the specified classes to the button
button.classList.add('btn', 'btn-sm', 'btn-filled', 'btn-neutral');
// Add a click event listener to the button
button.addEventListener('click', async () => {
// When clicked, get all the green span elements and their text
const greenSpans = document.querySelectorAll('span[style*="background-color: var(--green"]');
const greenText = [...greenSpans].map(x => x.innerText).join('');
// Copy the text to the clipboard
try {
await navigator.clipboard.writeText(greenText);
} catch (err) {
console.error('Failed to copy text: ', err);
}
});
// Keep checking for the element to append the button to
const interval = setInterval(() => {
// Find the element
const headerActions = document.querySelector('div.pg-header > div.pg-header-section.pg-header-actions');
// Check if the element exists
if (headerActions) {
// Append the button to the page
headerActions.appendChild(button);
// Clear the interval
clearInterval(interval);
}
}, 500); // Check every 500ms
}
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment