// ==UserScript== // @name LinkedIn – Auto 'Send Now' Connect requests for contacts skipping 'Add a Note' prompt // @version 1.0.1 // @description Automatically clicks the 'Send now' button shown in the "You can customize this invitation" box which shows up after clicking Connect button. If you want to Add Note instead for customized request, just temporarily disable this script first. By Dan Moorehead (dan@PowerAccessDB.com), PowerAccess™ Framework for MS Access (https://www.PowerAccessDB.com/PowerAccess-Framework-MS-Access) and Visual3D Game Engine (https://www.PowerAccessDB.com/Visual3D-Game-Engine) founder. // @author Dan Moorehead (dan@PowerAccessDB.com), PowerAccess™ Framework for MS Access (https://www.PowerAccessDB.com/PowerAccess-Framework-MS-Access) and Visual3D Game Engine founder // @copyright © 2017 Dan Moorehead (dan@PowerAccessDB.com), PowerAccess™ Framework for MS Access (https://www.PowerAccessDB.com/PowerAccess-Framework-MS-Access) and Visual3D Game Engine (https://www.PowerAccessDB.com/Visual3D-Game-Engine) founder // @include /^https?://(www\.)?linkedin\.com/(search/results|in)/.*$/ // @namespace https://www.PowerAccessDB.com/ // @homepage https://www.PowerAccessDB.com/PowerAccess-Framework-MS-Access // @supportURL https://greasyfork.org/en/scripts/31771-linkedin-auto-send-now-connect-requests-for-contacts-skipping-add-a-note-prompt // @require https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js // @grant none // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAsSAAALEgHS3X78AAAAFXRFWHRDcmVhdGlvbiBUaW1lADYvMjQvMDn2wWvjAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M0BrLToAAAAY9QTFRFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWJ+8Upq2DFJ4BklsVJu4CU1zCU5zTpWyV5+7DlN4B0twB0tvCU50C1mEC1+NDFF3DGWWDmSRD2iYEFV5EmuaE1d7FGeTFVp9FWGKFW2cGFyAGHCeGmCDG3OgHWKFHnWiIGSHIXikI2iLJHumJmuNKG6PKH2oK3CSK4CrLnSVLoOtL2iDMHaXMYavM3maNHOQNIixNXaUNnycN4uzOX6eOX+fOo21O3SLPIKiPY2yPY2zPZC3PoqtP4WkP42xQJO5QoinQ5W7RYuqRpi9SIOfSI+sSZu/S5KvS5OwTJ3BTpe6T6DDUYGXUpq2UqPFVZy5VabHV566WKjJWafHW4eaW6vLXaHAYa7NYqC+Yq3MY6LBZ6K9aq7Kbq3Hc7LMdJindbjTgbTLhL/VicDXi6u5j8TZornErL7GuMbNxdDVy9ng1dzg19fX2tra3Nzc3ODh3t7e5ubm6Ojo6urq7e3t7+/v8fHx9PT09vb2+fn5+/v7/f39/////8EcrgAAABN0Uk5TAAEFBgcSFxiGh4+a1Nra4+Pm6f7wNSIAAAFdSURBVDjLrZM7T8NAEIS/tTfOA0hogIqHgJKWv4BA8HNB/AsaKjoEgoKHCDKKbdZ3RxEHUHKWKJhmdJrRzu7enQC93gkxXJYlCCyfjjpJRPf2fvGB0D9b84WPGJJ+8nxeKNlqUUUTnHVXsyLleDAJIRRPuaZhDnW2fqNM62/sk78tFCk8iisBhjB8WUxxKN4DCBDp1KM4B5CPeHeRRlEsA7iLDoKhOA/wBKxjb9Dv5TVkK+mswtRwBFyxfQj5+KAPk4fXrDHU9azJGhPobAEs7ZUFUJPgzcxMRMTsVkQGIiIiumtm9jOFAG5Kk1t2BtBxTYSfN4wfGS7BwDV7WDBcw93W9IhHCfMGB+OGCfOrnm18xv5PhkjEN/t/iXDpz+X/JjzgEDYz2vF5r3hLW3XnUSYjazVojlIVibTowSpUSs1Eol8vhKoUSVLpdOMlQmXBKTRvqgUiItKqhhC+ALfVx6MKijHaAAAAAElFTkSuQmCC // @downloadURL none // ==/UserScript== https://www.linkedin.com/search/results/index/?keywords=AWA%20Access&origin=GLOBAL_SEARCH_HEADER $(function () { 'use strict'; //enable function-level strict syntax mode //CSS selector to find any button with text "Send now" which is in an Invite actions modal dialog overlay var selector = 'section.modal div.send-invite__actions > button.button-primary-large.ml3:contains("Send now")'; //begin handling late added elements to see if they are a Send now button to click: //create alias of MutationObserver class for whatever browser-specific class name is var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver ; //create observer to inspect elements as added to DOM var config = { childList: true, characterData: false, attributes: false, subtree: true }; var observer = new MutationObserver( function (mutations) { mutations.forEach( function (mutation) { if (mutation.addedNodes) { //find any "Send now" button in descendants of added nodes + then inspect the addedNodes themselves too //if found, click them $(mutation.addedNodes).find(selector).addBack(selector).trigger("click"); } }); }); //begin observing any node additions anywhere in the document observer.observe(document, config); //now click any Send now buttons that might already have been loaded before started observing $(selector).trigger("click"); });