Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Click a link with Javascript when there is no element ID

Please forgive me if this has already been answered somewhere but I just can't find what I'm looking for. I'm using Greasemonkey for Firefox and Tampermonkey in Chrome to try to create a Javascipt to change how I interact with a webpage. Upon page load, I'd like to automatically open a link in a new tab in the background. This link is slightly different each time I load the page. The element from the webpage is this:

<a href="/cgi/admin/user/ssh_login/*" target="_blank">SSH</a>

The part with the * is what's different each time.

So how can I automatically click that link upon page load if it doesn't have an elementID or at the very least an elementName?

like image 479
Mister Pyrrhuloxia Avatar asked Jun 03 '26 17:06

Mister Pyrrhuloxia


1 Answers

var link = document.querySelector('[href*="/cgi/admin/user/ssh_login/"]');
link.click();

Edit:

Open link in a background tab in chrome (based on this answer)

var link = document.querySelector('[href*="/cgi/admin/user/ssh_login/"]');
var url = link.getAttribute('href');
openNewBackgroundTab(url);

function openNewBackgroundTab(url){
    var a = document.createElement("a");
    a.href = url;
    var evt = document.createEvent("MouseEvents");
    //the tenth parameter of initMouseEvent sets ctrl key
    evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0,
                                true, false, false, false, 0, null);
    a.dispatchEvent(evt);
}
like image 144
Brian Avatar answered Jun 05 '26 12:06

Brian



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!