我想要做出一个自动点击“激励”按钮,然后提取“当前效率”的数值
代入公式\( (100-“当前效率”)×344 \)
计算出结果之后输入到输入框里,再点击确定按钮,并向下循环,直到所有“当前效率”的值都为100。
最好能用浏览器内嵌编译器。
我尝试写了一个脚本,通过Tampermonkey在浏览器中运行。
// ==UserScript==
// @name 自动点击并计算脚本
// @namespace http://tampermonkey.net/
// @version 0.1
// @description 根据网页上的数字自动计算并输入文本,然后自动点击确定按钮
// @author You
// @match http://spdq.natapp1.cc/estgzweb/
// @grant none
// ==/UserScript==
(function() {
'use strict';
const specificButtonSelector = 'body > div:nth-child(5) > div > div > div > div.ant-modal-content > div.ant-modal-body > div > div.ant-table-wrapper > div > div > div > div > div.ant-table-body > table > tbody > tr:nth-child(2) > td:nth-child(8)';
const numberElementSelector = '/html/body/div[4]/div/div/div/div[2]/div[2]/div/div[2]/div/div/div/div/div[2]/table/tbody/tr[2]/td[5]';
const inputElementSelector = '/html/body/div[5]/div/div[2]/div/div[2]/div[2]/div/div[2]/input';
const confirmButtonSelector = '/html/body/div[5]/div/div[2]/div/div[2]/div[3]/button[2]';
const specificButton = document.querySelector(specificButtonSelector);
const numberElement = document.querySelector(numberElementSelector);
const inputElement = document.querySelector(inputElementSelector);
const confirmButton = document.querySelector(confirmButtonSelector);
if (!specificButton || !numberElement || !inputElement || !confirmButton) {
console.error('无法找到所有必需的元素');
return;
}
const numberText = numberElement.textContent.trim();
const number = parseFloat(numberText);
if (isNaN(number)) {
console.error('无法获取有效的数字');
return;
}
const calculatedValue = 100 - number * 344 ;
inputElement.value = calculatedValue.toString();
specificButton.click()
confirmButton.click();
})();
但它不能运行,因为我编程能力有限,没能排查出问题。
看着有两个问题:
另外,脚本的启动与停止,最好给自己预留一些操作和相关日志监控,方便控制。