前の記事から更新しました。
一日使用してみまして、実際の挙動を確認したところで修正を行いました。
ボタンをクリックしてページ変移が始まれば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();
})();
これで全自動で処理が進みます。
最近タグのIDが変更されていたので、コードの変更が必要になりました。
- var target = document.querySelector('#a-autoid-0 > span > input');
+ var target = document.querySelector('#continue-button > span > input');
コード全文