没有元素 ID 时单击带有 Javascript 的链接 [英] Click a link with Javascript when there is no element ID

查看:26
本文介绍了没有元素 ID 时单击带有 Javascript 的链接的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果这已经在某处得到了回答,请原谅我,但我找不到我要找的东西.我在 Chrome 中使用 Greasemonkey for Firefox 和 Tampermonkey 来尝试创建一个 Javascipt 来改变我与网页交互的方式.页面加载后,我想在后台的新标签页中自动打开一个链接.每次加载页面时,此链接都略有不同.网页中的元素是这样的:

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.

如果该链接没有 elementID 或至少没有 elementName,我如何在页面加载时自动单击该链接?

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?

推荐答案

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

在 chrome 的背景标签中打开链接(基于 这个答案)

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);
}

这篇关于没有元素 ID 时单击带有 Javascript 的链接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆