Вопрос требует либо MCVE, либо ссылки на фактическую страницу.
Мы не можем сказать, что происходит, потому что требуемый пример еще не предоставлен, но страницы используют различные методы для маскировки илипереписать ссылки.Они делают это для гнусных - или для рекламы (но я повторюсь) - целей.
Итак, ваш сценарий не работает либо потому, что он запускается слишком рано, либо потому, что страница переписывает ссылку, как только вы нажимаете на нее.
- Когда вы наводите курсор мыши на ссылку, она показывает
www.google.com
или www.somewebsite.com
? - Что происходит, когда вы загружаете страницу без включенного JavaScript на этой странице?
В любом случае, техника, которая иногда работает, заключается в игнорировании ссылки и создании своей собственной, например, так:
// ==UserScript==
// @name Apple
// @match *://YOUR_SERVER.COM/YOUR_PATH/*
// @run-at document-end
// @require https://code.jquery.com/jquery-3.3.1.min.js
// @grant GM_addStyle
// ==/UserScript==
//- The @grant directive is needed to restore the proper sandbox.
/* global $ */
/* eslint-disable no-multi-spaces */
var targId = "apple";
var badLink = $("#" + targId);
var goodLink = badLink.clone ().attr ("id", `TM${targId}`).attr ("href", "https://www.google.com/");
badLink.hide ().after (goodLink);
Но некоторые страницы сложнее написать. Приведите рабочий пример того, что вы видите.