Скрипты на JavaScript для Алиэкспресс

Тема закреплена бессрочно

Пользуетесь ли этими скриптами?

  • Да

    Голосов: 294 63,9%
  • Нет

    Голосов: 166 36,1%

  • Всего проголосовало
    460
Скрипт ускоряющий оплату через вебмани с авторизацией через Яндекс.

Код:
// ==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";
}
Может кто поправить скрипт под новый дизайн?
 


Други, есть сейчас какой нибудь способ автоматизированного входа в логин работающий в данный момент? Прежний вариант входа через адресную строку с tokenLogin, как я понимаю, больше не работает (кстати, когда это еще работало, то у спустя какое-то время способ с "токеном" работать почему-то переставало и приходилось брать новую строку с tokenLogin - х.з. почему так).
Сайт ныне фактически разделился на "рублевую зону" и остальные страны. Мож какие-то еще идеи есть насчет автологина? Местами сам мог бы подкрутить (знаком с js, но не очень глубоко).
 
регаю ак новорег вечно слайдер лезит как упростить?
---------Двойное сообщение соединено: ---------
 

Вложения

  • п7.PNG
    п7.PNG
    40,1 KB · Просмотры: 148
Последнее редактирование:
"Скрипты от @0xFF:
Скрипт заполнения адресных данных по шаблону (можно настроить неограничено количество стран)"

Данный скрипт не работает на aliexpress.ru теперь у всех? даже 1.18 версия?
В списках // @match * адреса "aliexpress.ru/*" нету, а именно он открывается когда заполняются адреса для покупки. Но даже если его туда вписать, скрипт на странице паявляется в трее tampermonkey как включенный, но ничего не происходит всё равно...

Как временное решение - зайти https://www.aliexpress.com/p/order/index.html (отсюда вроде не редиректит) далее там шипинг адрес и добавляем.
 
Последнее редактирование:
"Скрипты от @0xFF:
Скрипт заполнения адресных данных по шаблону (можно настроить неограничено количество стран)"

Данный скрипт не работает на aliexpress.ru теперь у всех? даже 1.18 версия?
В списках // @match * адреса "aliexpress.ru/*" нету, а именно он открывается когда заполняются адреса для покупки. Но даже если его туда вписать, скрипт на странице паявляется в трее tampermonkey как включенный, но ничего не происходит всё равно...

Как временное решение - зайти https://www.aliexpress.com/p/order/index.html (отсюда вроде не редиректит) далее там шипинг адрес и добавляем.
Не работает. Сейчас, по сути, ru - совсем другой сайт, всё переделали. Посмотрю, что там и как, возможно, добавлю поддержку.
 
  • Like
Реакции: AlS00, Stas___ и xavikz
"Скрипты от @0xFF:
Скрипт заполнения адресных данных по шаблону (можно настроить неограничено количество стран)"

Данный скрипт не работает на aliexpress.ru теперь у всех? даже 1.18 версия?
В списках // @match * адреса "aliexpress.ru/*" нету, а именно он открывается когда заполняются адреса для покупки. Но даже если его туда вписать, скрипт на странице паявляется в трее tampermonkey как включенный, но ничего не происходит всё равно...

Как временное решение - зайти https://www.aliexpress.com/p/order/index.html (отсюда вроде не редиректит) далее там шипинг адрес и добавляем.
после обновления формы адреса он же перестал работать.
поделитесь как удалось это исправить
версия *com
 
после обновления формы адреса он же перестал работать.
поделитесь как удалось это исправить
версия *com
ну как я написал - переход по моей ссылке и далее "shipping adress" и в той странице скрипт работает наш.
Не работает. Сейчас, по сути, ru - совсем другой сайт, всё переделали. Посмотрю, что там и как, возможно, добавлю поддержку.
Было бы очень здорово :)
---------Двойное сообщение соединено: ---------
после обновления формы адреса он же перестал работать.
поделитесь как удалось это исправить
версия *com
И да страна доставки должна быть выбрана USA для начала (ну по кр мере у меня с этой страной так срабатывает). И уже при добавлении адреса там указываешь РУ
 
Последнее редактирование:
ну как я написал - переход по моей ссылке и далее "shipping adress" и в той странице скрипт работает наш.

Было бы очень здорово :)
---------Двойное сообщение соединено: ---------

И да страна доставки должна быть выбрана USA для начала (ну по кр мере у меня с этой страной так срабатывает). И уже при добавлении адреса там указываешь РУ
не работает, нет кнопок скрипта
---------Двойное сообщение соединено: ---------

Не работает. Сейчас, по сути, ru - совсем другой сайт, всё переделали. Посмотрю, что там и как, возможно, добавлю поддержку.
Можете пожалуйста исправить работу на новой версии формы адреса для *сom?
 

Вложения

  • 1668086593552.png
    1668086593552.png
    23,4 KB · Просмотры: 131
Последнее редактирование:
есть ли скрипт, где с рядом с рублевой ценой, будет отображена стоимость товара в $ USD?
 
не работает, нет кнопок скрипта
---------Двойное сообщение соединено: ---------


Можете пожалуйста исправить работу на новой версии формы адреса для *сom?
Эта форма слишком геморная. Установи этот скрипт и добавляй адрес при оформлении.
 
Коллеги, а имеется скрипт для заполнения карты на РУ версию сайта?
 
Эта форма слишком геморная. Установи этот скрипт и добавляй адрес при оформлении.
А для .ru есть лечение? Данный скрипт не срабатывает, если доставка в рф (и домен сайта всегда редиректит на .ru)
 
  • Like
Реакции: illich, AlS00 и xavikz
Товарищи, выручайте, может кто сделать скрипт на покупку товара? Чтобы запрос слал один за одним пока товар не приобретется?)
 
Привет, Скрипт автозаполнения формы входа перестал разделять: логин (TAB) пароль.
Пробовал в Chrome и Firefox. Видимо снова изменились свойства полей.
Подредактировать нехватает скилла.
 
… алишка не тормознёт покупки, выдавая капчу на странице оформления?
Не знаю. Давно как-то не встречал в браузере капч. Я просто не догоняю, как вообще сделать. Читаю, читаю. Без опыта в IT тёмный лес. Уже месяц ковыряюсь и не знаю возможно ли это.