Copy URL Buttons in Google Search Results

Makes copying links from google search results faster by adding 1-click copy buttons next to the results

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name        Copy URL Buttons in Google Search Results
// @namespace   https://wpdevdesign.com/
// @match       *://*.google.*/search?*
// @grant       none
// @version     1.0.1
// @author      Abdelouahed Errouaguy & Sridhar Katakam
// @description Makes copying links from google search results faster by adding 1-click copy buttons next to the results
// ==/UserScript==

/* jshint esversion: 6 */

(function () {
  'use strict';
  
  // Function to copy the passed string to clipboard.
  function copyToClipboard(event) {
    let helper = document.createElement('input');

    document.body.appendChild(helper);
    helper.value = this.value;
    helper.select();
    document.execCommand('copy');
    this.textContent = "Copied ✓";
    helper.remove();
  
    event.preventDefault();
    event.stopPropagation();
  }

  document.querySelectorAll('.wsn-google-focused-link > a, .yuRUbf > div a').forEach(el => {
    let href = el.href;
    let button = document.createElement("button");
    button.textContent = "Copy URL";
    button.value = href;
    button.style.cssText = "cursor: pointer; margin-left: 10px; border-radius: 12px; padding: 4px 12px; border: 1px solid #ccc; font-size: 12px; position: absolute;";
    button.addEventListener("click", copyToClipboard);
    
    el.querySelector("h3").appendChild(button);
  });
})();