前の記事から更新しました。
一日使用してみまして、実際の挙動を確認したところで修正を行いました。
ボタンをクリックしてページ変移が始まればTampermonkeyでの処理が終わるかと思っていたのですが、ループが進んでいたので明示的に抜けるように変更しました。
// ==UserScript== // @name クリックポスト:一時保存(Amazon Pay) // @namespace http://tampermonkey.net/ // @version 2023-05-01 // @description “内容品”が「/skip」ではないお届け先の“支払手続き”を自動で実行します。 // @author penlabo // @match https://clickpost.jp/packages/list // @grant none // ==/UserScript== (function() { 'use strict'; onload = function (){ var line = 1; while (1) { var elmTarget = document.getElementById('AmazonPayCV2Button' + line); if (!elmTarget) return false; var elmParent = elmTarget.parentNode; var elmPrevious = elmParent.previousElementSibling; var elmText = elmPrevious.innerText; if (elmText != '/skip') { elmTarget.click(); return false; } elmParent.style.backgroundColor = 'lightgrey'; line++; } }; })();
その後の手続きを実行するものも追記しておきます。
// ==UserScript== // @name クリックポスト:決済(Amazon Pay) // @namespace http://tampermonkey.net/ // @version 2023-05-01 // @description 決済を実行します。 // @author penlabo // @match https://payments.amazon.co.jp/checkout?* // @grant none // ==/UserScript== (function() { 'use strict'; var target = document.querySelector('#a-autoid-0 > span > input'); target.click(); })();
// ==UserScript== // @name クリックポスト:支払手続き完了(Amazon Pay) // @namespace http://tampermonkey.net/ // @version 2023-05-01 // @description 支払手続き完了を実行します。 // @author penlabo // @match https://clickpost.jp/amazon_pay/confirm?* // @grant none // ==/UserScript== (function() { 'use strict'; var target = document.querySelector('#payment_complete_message > input'); target.click(); })();
これで全自動で処理が進みます。