Magic.Undead
Опытный
- Дней с нами
- 1.228
- Розыгрыши
- 0
- Сообщения
- 135
- Репутация
- 0
- Реакции
- 86
Может кто поправить скрипт под новый дизайн?Скрипт ускоряющий оплату через вебмани с авторизацией через Яндекс.
Код:// ==UserScript== // @name WM pay by Yandex // @namespace http://tampermonkey.net/ // @version 0.3 // @description Авторизация на WebMoney через Yandex // @author Andronio // @match https://merchant.web.money/lmi/payment_conf.asp // @match https://merchant.web.money/lmi/SignedLoginFormNewWC.asp* // @match https://psp.wmtransfer.com/payment/process/* // @match https://merchant.web.money/lmi/payment_do.asp // @match https://passport.yandex.ru/auth* // @match https://shoppingcart.aliexpress.com/order/payResult.htm?cashierRequestNo* // @grant none // ==/UserScript== let yandexLogin = "login"; let yandexPass = "pass"; (function repeat() { 'use strict'; let href = window.location.href; if (/passport\.yandex\.ru\/auth/.test(href)) { let newForm = document.getElementById("passp-field-login"); if (newForm) { document.querySelector("form").submit(); return; } else { document.getElementById("login").value = yandexLogin; document.getElementById("passwd").value = yandexPass; document.querySelector(".js-submit-button").click(); } } if (href == "https://merchant.web.money/lmi/payment_conf.asp") { let enumCode = document.getElementById("ConfirmENum"); let confirmButton = document.getElementById("do_payment"); let askENUM = document.getElementById("ConfirmENumSend"); if (askENUM) askENUM.click(); if (!enumCode) { setTimeout(repeat, 500); } else { if (enumCode.value == ""){ // Запуск таймера setTimeout(repeat, 500); } else { confirmButton.click(); } } } if (/psp\.wmtransfer\.com\/payment\/process\//.test(href)) { let returnButton = document.getElementById("returnToMerchant"); if (!returnButton) { setTimeout(repeat, 500); } else { if (returnButton.clientWidth == 0) { setTimeout(repeat, 500); } else { returnButton.click(); } } } if (/merchant\.web\.money\/lmi\/SignedLoginFormNewWC\.asp/.test(href)) { let socMore = document.querySelector(".soc-show_more"); if (!socMore.classList.contains("active")) { socMore.classList.add("active"); setTimeout(repeat, 500); } else { let socYandex = document.querySelector(".soc-yandex"); if (!socYandex) setTimeout(repeat, 500); else { socYandex.click(); return; } } } if (href == "https://merchant.web.money/lmi/payment_do.asp") { let backButton = document.getElementById("back_toshop"); if (backButton) { backButton.click(); } else { setTimeout(repeat, 500); } } if (/shoppingcart\.aliexpress\.com\/order\/payResult\.htm/.test(href)) { let mybtn = document.querySelectorAll(".operation-container > .next-btn-primary") if (mybtn.length != 0) { mybtn[1].click(); } else { setTimeout(repeat, 500); } } })();
@MORAX Нужна чистка
---------Двойное сообщение соединено: ---------Скрипт заполнения данных платежной карточки. Заполнение происходит только на полной версии корзины, т.е. адрес должен быть https://shoppingcart.aliexpress.ru/orders.htm?aeOrderFrom=main_shopcart*
Данные карты должны быть в формате
Только в таком, другой никак.Код:5405 1047 0034 3817, 2023/02, 461, IRINA ANDREEVA, MasterCard - Wells Fargo Bank, USA
Код:// ==UserScript== // @name Aliexpress CARD filler // @namespace http://tampermonkey.net/ // @version 0.1 // @description Заполнение данных платежной карты // @author Andronio // @match https://shoppingcart.aliexpress.ru/orders.htm?aeOrderFrom=main_shopcart* // @grant none // @noframes // ==/UserScript== let timeout = 50; (function() { 'use strict'; var div = document.createElement('div'); div.className = 'myBox'; div.innerHTML += ` <input type="text" id="carddata"></br> <input type="button" id="cardfill" class="mybutton" value="Карта"> `; // Стили var styles = ` .myBox { position: fixed; top: 0; right: 0; background: white; box-shadow: 1px -1px 4px 1px; max-width: 40%; max-height: 400px; padding: 10px 20px; overflow-y: auto; overflow-x: hidden; z-index:9999; } .mybutton { display: inline; padding: 5px 10px; margin-right:auto; cursor:pointer; }` var styleSheet = document.createElement("style") styleSheet.type = "text/css" styleSheet.innerText = styles document.head.append(styleSheet) document.body.append(div); let mybutton1 = document.getElementById("cardfill"); mybutton1.addEventListener('click', cardFunc); let mytext = document.getElementById("carddata"); mytext.addEventListener('keydown', event => { if (event.keyCode == "13") { document.getElementById('cardfill').click(); } }); mytext.focus(); })(); function cardFunc() { let cardNumber = document.getElementById('cardNo'); let cardHold = document.getElementById('cardHolder'); let dateExpire = document.getElementById('expire'); let codeCVC = document.getElementById('cvc'); let mytext = document.getElementById("carddata"); let mass; if (mytext.value == "") return null; if (/\d{4}\s\d{4}\s\d{4}\s\d{4},\s\d{4}\/\d\d,\s\d{3},\s[\w\s]+,\s/.test(mytext.value)) { mass = mytext.value.split(', '); } else { return alert("Нет данных карты"); } let nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value').set; nativeInputValueSetter.call(cardNumber, mass[0]); cardNumber.dispatchEvent(new Event('change', {bubbles: true})); cardNumber.dispatchEvent(new Event('blur', {bubbles: true})); nativeInputValueSetter.call(cardHold, mass[3]); cardHold.dispatchEvent(new Event('change', {bubbles: true})); let date = mass[1].slice(5,7) + '/' + mass[1].slice(2,4); nativeInputValueSetter.call(dateExpire, date); dateExpire.dispatchEvent(new Event('change', {bubbles: true})); nativeInputValueSetter.call(codeCVC, mass[2]); codeCVC.dispatchEvent(new Event('change', {bubbles: true})); document.querySelector('[ae_button_type="confirm"]').click(); document.querySelector(".myBox").style.display = "none"; }