是否有一种方法可以使用JavaScript点击我页面上的链接?


当前回答

就像这样:

<a id="myLink" onclick="alert('link click');">LINK 1</a>
<a id="myLink2" onclick="document.getElementById('myLink').click()">Click link 1</a>

或者在页面加载时:

<body onload="document.getElementById('myLink').click()">
...
<a id="myLink" onclick="alert('link click');">LINK 1</a>
...
</body>

其他回答

你不能让用户的鼠标做任何事情。但当事件触发时,你可以完全控制发生什么。

你能做的就是点击body load。W3Schools有一个例子。

对于那些想要点击所有链接,有一个特定的文本内容,这将工作:

for (const a of document.querySelectorAll("a")) { 如果(a.textContent。Includes("<你要搜索的文本>")){ a.click (); } }

参考:https://stackoverflow.com/a/42907920/2361131

就像这样:

<a id="myLink" onclick="alert('link click');">LINK 1</a>
<a id="myLink2" onclick="document.getElementById('myLink').click()">Click link 1</a>

或者在页面加载时:

<body onload="document.getElementById('myLink').click()">
...
<a id="myLink" onclick="alert('link click');">LINK 1</a>
...
</body>

上面的许多方法已经被弃用了。现在建议使用这里找到的构造函数

function clickAnchorTag() {
    var event = document.createEvent('MouseEvent');
    event = new CustomEvent('click');
    var a = document.getElementById('nameOfID');
    a.dispatchEvent(event);
}

这将导致锚标记被单击,但它不会显示弹出窗口阻止器是否处于活动状态,因此用户需要允许弹出窗口。

对我来说,我设法让它以这种方式工作。我在5000毫秒内部署了自动点击,然后在1000毫秒后关闭循环。然后只有1次自动点击。

<script> var myVar = setInterval(function ({document.getElementById("test").click();}, 500)); setInterval(function () {clearInterval(myVar)}, 1000));</script>