如何用Tampermonkey腳本自動化網頁點擊、數值計算及結果輸入?

Tampermonkey腳本改進:自動化網頁點擊、數值計算及結果輸入

本文探討如何優化tampermonkey腳本,實現網頁元素自動化操作和數值計算,解決自動點擊、數據提取、計算及結果輸入的問題。目標是編寫一個更穩健的腳本,自動點擊“激勵”按鈕,獲取“當前效率”值,代入公式(100 – 當前效率) × 344計算,并將結果輸入指定輸入框,最后點擊“確定”按鈕,并循環此過程直至所有“當前效率”值達到100。

如何用Tampermonkey腳本自動化網頁點擊、數值計算及結果輸入?

原腳本的主要問題在于選擇器過于依賴頁面絕對路徑、缺乏等待機制以及錯誤處理。改進后的腳本應遵循以下原則:

1. 可靠的選擇器: 避免使用脆弱的絕對路徑選擇器(/html/body/…)。 應使用css選擇器,結合元素的類名(class)、ID(id)或其他獨特的屬性,提高選擇器的魯棒性。例如,document.querySelector(‘.incentive-button’) 或 document.getElementById(‘efficiency-value’)。

2. 等待機制: 在點擊“激勵”按鈕后,頁面需要時間更新“當前效率”值。 應使用setTimeout函數或await (若使用async/await) 添加延遲,確保數據更新后再進行后續操作,避免讀取舊值導致計算錯誤。 例如:

specificButton.click(); setTimeout(() => {   // 獲取更新后的效率值 }, 500); // 延遲500毫秒

3. 錯誤處理: 腳本應包含錯誤處理,例如檢查元素是否存在 (if (element) { … }),數值轉換是否成功 (parseInt(value),并檢查返回值是否為NaN)。 處理異常情況,避免腳本因錯誤而中斷。

4. 循環控制: 使用while循環,并設置終止條件(所有“當前效率”值為100)。 循環內應包含點擊、數據提取、計算和結果輸入等步驟。 可以使用一個數組或其他數據結構存儲所有“當前效率”值,方便檢查終止條件。

改進后的腳本結構示例 (需根據實際頁面元素調整選擇器):

(function() {   'use strict';    async function automateProcess() {     const incentiveButton = document.querySelector('.incentive-button');     const efficiencyElement = document.querySelector('#efficiency-value');     const inputField = document.querySelector('#result-input');     const confirmButton = document.querySelector('.confirm-button');      while (true) {       if (!incentiveButton || !efficiencyElement || !inputField || !confirmButton) {         console.error("元素未找到!");         break; // 退出循環       }        incentiveButton.click();       await new Promise(resolve => setTimeout(resolve, 500)); // 等待頁面更新        const efficiency = parseInt(efficiencyElement.textContent);       if (isNaN(efficiency)) {         console.error("無法解析效率值!");         break; // 退出循環       }        if (efficiency === 100) {         break; // 退出循環       }        const result = (100 - efficiency) * 344;       inputField.value = result;       confirmButton.click();       await new Promise(resolve => setTimeout(resolve, 500)); // 等待頁面更新     }   }    automateProcess(); })();

記住,以上代碼僅為示例,實際應用中需要根據目標網頁的具體HTML結構調整選擇器。 良好的錯誤處理和對頁面結構變化的容錯能力是編寫穩定腳本的關鍵。

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享