用JavaScript模拟按钮点击

用JavaScript模拟按钮点击,javascript,greasemonkey,Javascript,Greasemonkey,我想用Greasemonkey创建一个简单的自动跳过,但我发现在堆栈溢出上找不到真正适合我的解决方案 我需要单击此按钮: <div tip="next" title="Next" class="linkable fa fa-arrow-right" ng-click="View.next()"></div> 它没有任何id或名称,隐藏在许多div的深处。我可以通过模拟回车键或右箭头键绕过单击,但这对我也不起作用。试试这个: document.querySelecto

我想用Greasemonkey创建一个简单的自动跳过,但我发现在堆栈溢出上找不到真正适合我的解决方案

我需要单击此按钮:

<div tip="next" title="Next" class="linkable fa fa-arrow-right" ng-click="View.next()"></div>

它没有任何id或名称,隐藏在许多div的深处。我可以通过模拟回车键或右箭头键绕过单击,但这对我也不起作用。

试试这个:

document.querySelector('div[tip="next"]').click()
我看到这些GreaseMonkey脚本在页面加载时运行。使用这个,我能够模拟点击

// ==UserScript==
// @name        test
// @namespace   blargtest
// @include     https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/
// @version     1
// @grant       none
// ==/UserScript==
setTimeout(
    function () {
        document.querySelector('div[tip="next"]').click();
    }, 1000
);

您可以将其设置为setInterval,并让它每秒单击一次下一步。

为什么此按钮没有任何id或名称?当您单击该按钮时,会触发一个事件并调用一个函数?直接调用函数就行了,不要浪费时间。@SaschaP不知道。这不是我的网站,这就是为什么我想用GreaseMoneky:-)@SaschaP创建一个脚本。这不是他的代码,元素不需要id、类或名称。at:Anon函数的作用域可能已确定,因此greasemonkey可能无法运行该函数。按钮在哪里?我只看到块级元素!是我的测试脚本,它似乎不起作用:-(我不熟悉GreaseMonkey脚本,但如果您运行我在浏览器控制台中放置的代码行,它就会起作用。让我看看GreaseMonkey,看看我是否能找到它。是的,您是对的,它在控制台中起作用,将尝试使用它:)@MarekLukáš在单击DOM之前,您是否确保已加载DOM并且存在
div
?尝试用
Try-catch
块围绕该行,并使用
console.log
调试该行。这对我很有用!谢谢