Javascript 在页面加载时自动按下特定按钮的方法?

Javascript 在页面加载时自动按下特定按钮的方法?,javascript,google-chrome,automation,userscripts,tampermonkey,Javascript,Google Chrome,Automation,Userscripts,Tampermonkey,我正试图找到一种方法,通过Tampermonkey中用Javascript编写的用户脚本,在加载特定页面时只需单击特定按钮(即href)。这看起来很简单,但经过多次迭代后,我的任何代码都无法正常工作 以下是我想要按下的href和按钮的完整源代码: <span data-react-class="require('reactComponents/workPipeline/SubmitAcceptTaskForm')['SubmitAcceptTaskFormLink']" data-reac

我正试图找到一种方法,通过Tampermonkey中用Javascript编写的用户脚本,在加载特定页面时只需单击特定按钮(即href)。这看起来很简单,但经过多次迭代后,我的任何代码都无法正常工作

以下是我想要按下的href和按钮的完整源代码:

<span data-react-class="require('reactComponents/workPipeline/SubmitAcceptTaskForm')['SubmitAcceptTaskFormLink']" data-react-props="{&quot;text&quot;:&quot;accept&quot;,&quot;refTag&quot;:&quot;w_wp_acpt_warning&quot;}"><span data-reactid=".4"><a href="#" data-reactid=".4.0">accept</a></span></span>
下面是所有内容的屏幕截图,包括按钮所包含的div(鼠标悬停在必要的Accept按钮上):


我不太确定我做错了什么。我原以为我尝试过的代码行中有一行是可行的,但在语法方面,我可能忽略了一些东西。我们将非常感谢您的任何帮助。祝你有一个美好的白天和夜晚。

很难说为什么它不适合你。。。对我来说,它在localhost上进行以下HTML测试时没有问题:

<html>
<head>
<script type='text/javascript'>
function check(){
    console.log('Hellow world');
}
</script>
</head>
<body>
<span data-react-class="require('reactComponents/workPipeline/SubmitAcceptTaskForm')['SubmitAcceptTaskFormLink']" data-react-props="{&quot;text&quot;:&quot;accept&quot;,&quot;refTag&quot;:&quot;w_wp_acpt_warning&quot;}"><span data-reactid=".4"><a href="#" data-reactid=".4.0"  onclick='check()'>accept</a></span></span>
</body>
</html>
对我来说,它在没有自动可执行函数的情况下工作,我只是添加了一个很好的度量值,但它在没有它的情况下工作

页面加载后,控制台上会显示“Hello World”消息


一个技巧是,在大多数情况下,您希望在userscript上运行的代码应该在控制台上运行完全相同的代码。通过这种方式,您可以现场测试什么是有效的,什么是无效的。

我决定走不同的路线,选择不同的按钮。无论出于何种原因,我无法在页面加载时激活代码,但选择通过以下方式选择页面上的另一个接受按钮:

document.getElementsByClassName("btn btn-primary")[0].click();

我不是用户脚本或tampermonkey方面的专家,但您是否在加载页面后执行自动化脚本(用于自动单击的脚本)。例如,,
document.onready
控制台中会抛出任何错误?或者可能在每次加载页面时动态创建这些ID。您的代码在控制台中工作,但无论出于什么原因,我都无法在页面开始时加载它。我有一些错误代码,包括:事件处理程序中的错误(未知):TypeError:无法读取CSRecorder.onQueryStateCompleted(chrome)处null的属性“state”-extension://cplklnmnlbnpmjogncfgfijoopmnlemp/content_scripts/recorder.js:106:18)实际上,错误不再出现,我现在刚刚看到:加载资源失败:服务器响应状态为404(未找到)。同样,代码在插入控制台时可以工作,但似乎不会在页面加载时运行。我会尝试看看我是否有任何冲突的应用程序或扩展。我找到了解决问题的另一种方法。最后我只是做了一个document.getElementsByCassName(“btn btn primary”)[0]。单击();另一个按钮,它的工作原理完美
// ==UserScript==
// @name         Autoclick
// @namespace    http://tampermonkey.net/
// @version      0.1
// @match        http://localhost/test.html
// @grant        none
// @run-at       document-end
// ==/UserScript==

(function() {
    'use strict';
    document.querySelector("a[data-reactid='.4.0']").click();
})();
document.getElementsByClassName("btn btn-primary")[0].click();