(async function () {
// 等待1秒,确保页面元素已经渲染
await new Promise((resolve) => setTimeout(resolve, 1000));
let allbutton = document.querySelectorAll('button');
for (let i = 0; i < 10; i++) {
if (allbutton && allbutton.length > 0) {
break;
}
await new Promise((resolve) => setTimeout(resolve, 200));
allbutton = document.querySelectorAll('button');
}
const btnLength = allbutton ? allbutton.length : 0;
let text = '支付宝h5支付: 确认付款页面 ' + btnLength + '个按钮';
//! 通知主进程
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
if (allbutton && allbutton.length > 0) {
const filbtn = Array.from(allbutton).filter(item => item.textContent.includes('确认付款'));
const filbtnLength = filbtn ? filbtn.length : 0;
let text = '支付宝h5支付: 页面寻找确认付款 ' + filbtnLength + '个确认付款按钮';
//! 通知主进程
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
if (filbtn && filbtn.length > 0) {
filbtn[0].click();
await new Promise((resolve) => setTimeout(resolve, 1000));
let text = '支付宝h5支付: 确认付款页面 点击确认付款 ' + filbtn[0].textContent;
//! 通知主进程
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
}
}
let passwordStr = '${info.paymentPassword}';
//* 是长密码,支付密码元素不同
if (passwordStr.length <= 6) {
const text = '支付宝h5支付: 短密码支付 密码长度 ' + passwordStr.length;
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
//* 检测是否第一次支付
await payAccount();
//* 输入密码
await payPassWord();
//* 点击完成
await payComplete();
} else {
const text = '支付宝h5支付: 长密码支付 密码长度 ' + passwordStr.length;
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
//* 检测是否第一次支付
await payAccountLong();
//* 输入密码
await payPassWordLong();
//* 点击完成
await payCompleteLong();
}
})();
//* 检测并自动输入账号
async function payAccount() {
// 等待1秒,确保页面元素已经渲染
await new Promise((resolve) => setTimeout(resolve, 1000));
let accEle = document.querySelectorAll(".adm-input-element");
for (let i = 0; i < 10; i++) {
if (accEle && accEle.length > 0) {
break;
}
await new Promise((resolve) => setTimeout(resolve, 200));
accEle = document.querySelectorAll(".adm-input-element");
}
//* 第一次支付宝支付
if (accEle && accEle.length > 0) {
let text = '支付宝h5支付: 找到账号输入框,是第一次支付宝支付';
//! 通知主进程
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
accEle[0].focus();
let account = '${info.paymentAccount}';
//* 自动输入账号
let accArray = account.split('');
accArray.forEach(item => {
document.execCommand("insertText", false, item);
})
text = '支付宝h5支付: 输入账号页面 账号输入完成 ' + account;
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
} else {
const text = '支付宝h5支付: 未找到账号输入框,非第一次支付宝支付';
//! 通知主进程
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
return;
}
// 等待1秒,确保页面元素已经渲染
await new Promise((resolve) => setTimeout(resolve, 1000));
let nextEle = Array.from(document.querySelectorAll("[class*='adm-button-shape-default']"));
let nextEleItem = '';
for (let i = 0; i < 10; i++) {
if (nextEle.find(item => item.textContent.includes("下一步"))) {
nextEleItem = nextEle.find(item => item.textContent.includes("下一步"))
break;
}
await new Promise((resolve) => setTimeout(resolve, 200));
nextEle = Array.from(document.querySelectorAll("[class*='adm-button-shape-default']"));
}
if (nextEleItem) {
const text = '支付宝h5支付: 输入完支付密码,点击下一步按钮';
//! 通知主进程
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
nextEleItem.click()
} else {
const text = '支付宝h5支付: 输入完支付密码异常,未找到下一步按钮';
//! 通知主进程
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
return;
}
// 等待1秒,确保页面元素已经渲染
await new Promise((resolve) => setTimeout(resolve, 1000));
let pwdloginEle = document.querySelector("[class*='toAccountLoginWrap___2ir3r']");
for (let i = 0; i < 10; i++) {
if (pwdloginEle) {
break;
}
await new Promise((resolve) => setTimeout(resolve, 200));
pwdloginEle = document.querySelector("[class*='toAccountLoginWrap___2ir3r']");
}
if (pwdloginEle) {
const text = '支付宝h5支付: 点击支付密码登录按钮';
//! 通知主进程
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
pwdloginEle.click()
} else {
const text = '支付宝h5支付: 页面异常,未找到支付密码登录按钮';
//! 通知主进程
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
return;
}
// 等待1秒,确保页面元素已经渲染
await new Promise((resolve) => setTimeout(resolve, 2000));
// 查找支付宝输入密码元素
let pwdEle = document.querySelectorAll(".my-passcode-input-native-input");
for (let i = 0; i < 10; i++) {
if (pwdEle && pwdEle.length > 0) {
break;
}
await new Promise((resolve) => setTimeout(resolve, 200));
pwdEle = document.querySelectorAll(".my-passcode-input-native-input");
}
if (pwdEle && pwdEle.length > 0) {
const text = '支付宝h5支付: 找到支付密码输入框';
//! 通知主进程
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
pwdEle[0].focus();
} else {
const text = '支付宝h5支付: 页面异常,未找到支付密码输入框';
//! 通知主进程
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
return;
}
let password = '${info.paymentPassword}';
//* 自动输入密码
let pasArray = password.split('');
pasArray.forEach(pas => {
document.execCommand("insertText", false, pas);
})
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: '支付宝h5支付: 输入密码页面 密码输入完成' });
// 等待1秒,确保页面元素已经渲染
await new Promise((resolve) => setTimeout(resolve, 1000));
let pwdloginNextEle = Array.from(document.querySelectorAll("[class*='adm-button-shape-default']"));
let pwdloginNextEleItem = '';
for (let i = 0; i < 10; i++) {
if (pwdloginNextEle.find(item => item.textContent.includes("下一步"))) {
pwdloginNextEleItem = pwdloginNextEle.find(item => item.textContent.includes("下一步"));
break;
}
await new Promise((resolve) => setTimeout(resolve, 200));
pwdloginNextEle = Array.from(document.querySelectorAll("[class*='adm-button-shape-default']"));
}
if (pwdloginNextEleItem) {
const text = '支付宝h5支付: 输入完支付密码,点击下一步按钮';
//! 通知主进程
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
pwdloginNextEleItem.click()
} else {
const text = '支付宝h5支付: 页面异常,输入完支付密码,未找到下一步按钮';
//! 通知主进程
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
return;
}
// 等待1秒,确保页面元素已经渲染
await new Promise((resolve) => setTimeout(resolve, 1000));
let confirmEle = document.querySelector("[class*='cashierPreConfirm__btn']");
for (let i = 0; i < 10; i++) {
if (confirmEle) {
break;
}
await new Promise((resolve) => setTimeout(resolve, 200));
confirmEle = document.querySelector("[class*='cashierPreConfirm__btn']");
}
if (confirmEle) {
const text = '支付宝h5支付: 点击确认付款按钮';
//! 通知主进程
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
confirmEle.click()
} else {
const text = '支付宝h5支付: 页面异常,未找到确认付款按钮';
//! 通知主进程
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
return;
}
}
//* 检测并自动输入密码
async function payPassWord() {
// 等待1秒,确保页面元素已经渲染
await new Promise((resolve) => setTimeout(resolve, 1000));
// 查找支付宝输入密码元素
let pwdEle = document.querySelectorAll(".my-passcode-input-cell");
for (let i = 0; i < 10; i++) {
if (pwdEle && pwdEle.length > 0) {
break;
}
await new Promise((resolve) => setTimeout(resolve, 200));
pwdEle = document.querySelectorAll(".my-passcode-input-cell");
}
//* 正常支付宝
if (pwdEle && pwdEle.length > 0) {
const text = '支付宝h5支付: 找到密码输入框';
//! 通知主进程
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
pwdEle[0].focus();
} else {
const text = '支付宝h5支付: 页面异常,未找到密码输入框';
//! 通知主进程,采购失败
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
return;
}
let password = '${info.paymentPassword}';
//* 自动输入密码
let pasArray = password.split('');
pasArray.forEach(pas => {
document.execCommand("insertText", false, pas);
})
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: '支付宝h5支付: 输入密码页面 密码输入完成' });
}
//* 支付宝支付完成页
async function payComplete() {
await new Promise((resolve) => setTimeout(resolve, 1000));
let completeEle = Array.from(document.querySelectorAll("[class*='adm-button-shape-default']"));
let completeEleItem = ''
for (let i = 0; i < 10; i++) {
if (completeEle.find(item => item.textContent.includes("完成"))) {
completeEleItem = completeEle.find(item => item.textContent.includes("完成"))
break;
}
await new Promise((resolve) => setTimeout(resolve, 200));
completeEle = Array.from(document.querySelectorAll("[class*='adm-button-shape-default']"));
}
if (completeEleItem) {
const text = '支付宝h5支付: 完成页面,点击完成按钮';
//! 通知主进程
window.electronAPI.send('autoTake-window', { type: 'autoLogs', msg: text, data: { window: '${window}', type: '${type}', queue: '${queueStr}', text } });
completeEleItem.click();
} else {
const text = '支付宝h5支付: 完成页面异常,未找到完成按钮';
//! 通知主进程
window.electronAPI.send('autoTake-window', { type: 'autoLogs', msg: text, data: { window: '${window}', type: '${type}', queue: '${queueStr}', text } });
}
}
//* 检测并自动输入账号(长密码)
async function payAccountLong() {
// 等待1秒,确保页面元素已经渲染
await new Promise((resolve) => setTimeout(resolve, 1000));
let accEle = document.querySelectorAll(".adm-input-element");
for (let i = 0; i < 10; i++) {
if (accEle && accEle.length > 0) {
break;
}
await new Promise((resolve) => setTimeout(resolve, 200));
accEle = document.querySelectorAll(".adm-input-element");
}
//* 第一次支付宝支付
if (accEle && accEle.length > 0) {
let text = '支付宝h5支付: 找到账号输入框,是第一次支付宝支付';
//! 通知主进程
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
accEle[0].focus();
let account = '${info.paymentAccount}';
//* 自动输入账号
let accArray = account.split('');
accArray.forEach(item => {
document.execCommand("insertText", false, item);
})
text = '支付宝h5支付: 输入账号页面 账号输入完成 ' + account;
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
} else {
const text = '支付宝h5支付: 未找到账号输入框,非第一次支付宝支付';
//! 通知主进程
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
return;
}
// 等待1秒,确保页面元素已经渲染
await new Promise((resolve) => setTimeout(resolve, 1000));
let pwdloginNextEle = Array.from(document.querySelectorAll("[class*='adm-button-shape-default']"));
let pwdloginNextEleItem = '';
for (let i = 0; i < 10; i++) {
if (pwdloginNextEle.find(item => item.textContent.includes("下一步"))) {
pwdloginNextEleItem = pwdloginNextEle.find(item => item.textContent.includes("下一步"))
break;
}
await new Promise((resolve) => setTimeout(resolve, 200));
pwdloginNextEle = Array.from(document.querySelectorAll("[class*='adm-button-shape-default']"));
}
if (pwdloginNextEleItem) {
const text = '支付宝h5支付: 输入完账号点击下一步按钮';
//! 通知主进程
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
pwdloginNextEleItem.click()
} else {
const text = '支付宝h5支付: 页面异常,输入完账号未找到下一步按钮';
//! 通知主进程
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
return;
}
// // 等待1秒,确保页面元素已经渲染
// await new Promise((resolve) => setTimeout(resolve, 1000));
// // 查找支付宝输入密码元素
// const pwdEle = document.querySelectorAll("[class*='adm-input-element']");
// for (let i = 0; i < 10; i++) {
// if (pwdEle && pwdEle.length > 0) {
// break;
// }
// await new Promise((resolve) => setTimeout(resolve, 200));
// pwdEle = document.querySelectorAll("[class*='adm-input-element']");
// }
// if (pwdEle && pwdEle.length > 1) {
// const text = '支付宝h5支付: 找到支付密码输入框';
// //! 通知主进程
// window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
// pwdEle[1].focus();
// } else {
// const text = '支付宝h5支付: 未找到支付密码输入框';
// //! 通知主进程
// window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
// return;
// }
// let password = '${info.paymentPassword}';
// //* 自动输入密码
// let pasArray = password.split('');
// pasArray.forEach(pas => {
// document.execCommand("insertText", false, pas);
// })
// pwdEle[1].value = password;
// window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: '支付宝h5支付: 输入密码页面 密码输入完成' });
// // 等待1秒,确保页面元素已经渲染
// await new Promise((resolve) => setTimeout(resolve, 1000));
// let pwdinputNextEle = Array.from(document.querySelectorAll("[class*='adm-button-shape-default']"));
// let pwdinputNextEleItem = ''
// for (let i = 0; i < 10; i++) {
// if (pwdinputNextEle.find(item => item.textContent.includes("下一步"))) {
// pwdinputNextEleItem = pwdinputNextEle.find(item => item.textContent.includes("下一步"));
// break;
// }
// await new Promise((resolve) => setTimeout(resolve, 200));
// pwdinputNextEle = Array.from(document.querySelectorAll("[class*='adm-button-shape-default']"));
// }
// if (pwdinputNextEleItem) {
// const text = '支付宝h5支付: 输入完支付密码点击下一步按钮';
// //! 通知主进程
// window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
// pwdinputNextEleItem.click();
// } else {
// const text = '支付宝h5支付: 未找到输入完支付密码下一步按钮';
// //! 通知主进程
// window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
// return;
// }
}
//* 检测并自动输入密码(长密码)
async function payPassWordLong() {
// 等待1秒,确保页面元素已经渲染
await new Promise((resolve) => setTimeout(resolve, 1000));
// 查找支付宝输入密码元素
let pwdEle = document.querySelectorAll(".adm-input-element");
for (let i = 0; i < 10; i++) {
if (pwdEle && pwdEle.length > 0) {
break;
}
await new Promise((resolve) => setTimeout(resolve, 200));
pwdEle = document.querySelectorAll(".adm-input-element");
}
const pwdEleLength = pwdEle ? pwdEle.length : 0;
//* 正常支付宝
if (pwdEle && pwdEle.length > 0) {
const text = '支付宝h5支付: 找到密码输入框';
//! 通知主进程
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
pwdEle[0].focus();
} else {
const text = '支付宝h5支付: 页面异常,未找到密码输入框';
//! 通知主进程
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
return;
}
let password = '${info.paymentPassword}';
//* 自动输入密码
let pasArray = password.split('');
pasArray.forEach(pas => {
document.execCommand("insertText", false, pas);
})
//! 通知主进程
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: '支付宝h5支付: 输入密码页面 密码输入完成' });
// 等待1秒,确保页面元素已经渲染
await new Promise((resolve) => setTimeout(resolve, 1000));
let nextEle = document.querySelector("[class*='pwdValidate__btn']");
for (let i = 0; i < 10; i++) {
if (nextEle) {
break;
}
await new Promise((resolve) => setTimeout(resolve, 200));
nextEle = document.querySelector("[class*='pwdValidate__btn']");
}
if (nextEle) {
const text = '支付宝h5支付: 密码输入完成,点击下一步按钮';
//! 通知主进程
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
nextEle.click()
} else {
const text = '支付宝h5支付: 密码输入完成异常,未找到下一步按钮';
//! 通知主进程
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
return;
}
}
//* 支付宝支付完成页(长密码)
async function payCompleteLong() {
await new Promise((resolve) => setTimeout(resolve, 1000));
let completeEle = Array.from(document.querySelectorAll("[class*='adm-button-shape-default']"));
let completeEleItem = ''
for (let i = 0; i < 10; i++) {
if (completeEle.find(item => item.textContent.includes("完成"))) {
completeEleItem = completeEle.find(item => item.textContent.includes("完成"))
break;
}
await new Promise((resolve) => setTimeout(resolve, 200));
completeEle = Array.from(document.querySelectorAll("[class*='adm-button-shape-default']"));
}
if (completeEleItem) {
const text = '支付宝h5支付: 完成页面,点击完成按钮';
//! 通知主进程
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
completeEleItem.click();
} else {
const text = '支付宝h5支付: 完成页面异常,未找到完成按钮';
//! 通知主进程
window.electronAPI.send('takeOrder-window', { type: 'unSelectElement', msg: text });
}
}
console