NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name LinkedIn Spotter
// @version 1.1
// @author Mikas
// @match https://www.linkedin.com/mynetwork/
// @grant GM_addStyle
// @require http://code.jquery.com/jquery-3.3.1.min.js
// @license MIT
// ==/UserScript==
var SEARCH_WORDS = [
"HR",
"Acquisition",
"Talent",
"Recruiter"
];
var AUTO_CLICK = [
"Acquisition",
"Recruiter"
];
function checkForSearchWords(element) {
let occupation = $(element).find(".discover-person-card__occupation").text();
SEARCH_WORDS.forEach((e) => {
if(occupation.includes(e)) {
let $li = $(element).closest('li');
let $button = $($li.find('[data-control-name="invite"]'));
$button.css("color","green");
$button.css("box-shadow","inset 0 0 0 2px green");
$button.find(".artdeco-button__text").text("Match!");
$li.css("box-shadow","0 0 0 2px green");
}
});
}
function checkForAutoClick(element) {
let occupation = $(element).find(".discover-person-card__occupation").text();
AUTO_CLICK.forEach((e) => {
if(occupation.includes(e)) {
let $li = $(element).closest('li');
let $button = $($li.find('[data-control-name="invite"]'));
$button.click();
}
});
}
function callback(mutationList, observer) {
mutationList.forEach((mutation) => {
mutation.addedNodes.forEach((node) =>{
if(node.tagName == "LI"){
checkForSearchWords(node);
checkForAutoClick(node);
}
});
});
}
$(document).ready(function(){
console.log("LinkedIn Spotter has started!");
const targetNode = $(".discover-entity-list").get(0);
const config = {childList:true , subtree:false};
let observer = new MutationObserver(callback);
observer.observe(targetNode, config);
});