Screwfix 'Share Saved List'

Add a 'Share Saved List' button to Screwfix

// ==UserScript==
// @name         Screwfix 'Share Saved List'
// @description  Add a 'Share Saved List' button to Screwfix
// @author       Antony Buck
// @match        https://www.screwfix.com/jsp/account/savedListPage*
// @grant        none
// @version         1.1
// @namespace https://greasyfork.org/users/5369
// ==/UserScript==

function createElements(){
	var isButton = document.getElementsByClassName('btn btn--lg title-section__btn')[0];
  var saveBtn = document.createElement('div');
  saveBtn.id = 'saveBtn_';
  saveBtn.className = 'btn btn--lg title-section__btn';
  saveBtn.innerHTML = 'Easy Share Version';
  saveBtn.fontSize = '16px';
  isButton.parentNode.insertBefore(saveBtn, isButton.nextSibling);
  document.getElementById('saveBtn_').addEventListener('click', getItems);
  
  var findSpace = document.getElementsByClassName('title-section')[0];
  var copyPaste = document.createElement('TABLE');
  copyPaste.id = 'saveOutput';
  copyPaste.class = '';
  findSpace.parentNode.insertBefore(copyPaste, findSpace.nextSibling);
}

function getItems(){
 	var thisItemString = "";
  var endDisplay = "";
  var allItems = document.getElementsByClassName('product__desc');
  var price = document.getElementsByClassName('product__total__sm');
	var i;
  
  for (i = 0; i < allItems.length; i++) {
    var thisItem = allItems[i];
		var itemPrice = price[i].innerHTML.substring(price[i].innerHTML.indexOf(".")+3, 2).trim();
    var itemNum = thisItem.childNodes[3].innerHTML //.replace(/[^0-9]/g,'');
    var iCount = i+1;
   	var itemDesc = document.getElementById('saved_list_page_product_name_' + iCount).text.trim();
    var itemLink = thisItem.childNodes[0];
    
    thisItemString = "<TD>" + iCount + ") </td><TD>" + itemDesc + ". </td><TD> Item Num: " + itemNum + ". </td><TD> Price: " + itemPrice + ". </td><TR>";
  	endDisplay += thisItemString;
  }
  document.getElementById('saveOutput').innerHTML = endDisplay;
	selectElementContents(document.getElementById('saveOutput'));
}

function selectElementContents(el) {
	var body = document.body, range, sel;
	if (document.createRange && window.getSelection) {
		range = document.createRange();
		sel = window.getSelection();
		sel.removeAllRanges();
		try {
			range.selectNodeContents(el);
			sel.addRange(range);
		} catch (e) {
			range.selectNode(el);
			sel.addRange(range);
		}
	document.execCommand("copy");
	} else if (body.createTextRange) {
		range = body.createTextRange();
		range.moveToElementText(el);
		range.select();
		range.execCommand("Copy");
	}
  alert('Copied to clipboard, ready to paste');
}

createElements()