This是我要使用TamperMonkey单击按钮的网站。 这是我的脚本代码:
// ==UserScript==
// @name click
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://secure.timesheets.com/
// @include https://secure.timesheets.com/default.cfm?page=Login&CFID=*
// @grant none
// ==/UserScript==
start();
function start() {
'use strict';
var domd = document.getElementById('large-button-clockin');
console.log(domd);
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
async function demo() {
console.log('Taking a break...');
await sleep(10000);
console.log('Ten second later');
document.getElementById('large-button-clockin').click();
}
demo();
};
它显示:
<button class="largeButton loginButton" name="HourlyClockInButton" id="large-button-clockin" data-login-value="IN" type="button">HOURLY<div>CLOCK IN</div>CLICK HERE</button>
Taking a break...
当时间到时,看起来就像刷新页面,而不是单击按钮,并且CFID代码更改为另一个。顺便说一句,浏览器会自动填写我的表格。
但是如果我只是输入代码
document.getElementById('large-button-clockin').click();
在浏览器的控制台中。它将单击代码。但是我无法在TamperMonkey中做到这一点。
你知道为什么吗?
编辑: 我刚刚找到原因,我需要在单击按钮之前在脚本中填写表格。但是浏览器已经自动为我执行此操作。您知道为什么我仍然需要在脚本中这样做吗?