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

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

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

  • Да

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

    Голосов: 168 36,4%

  • Всего проголосовало
    462
Andronio а возможно сделать кнопку копирования адреса доставки с али ?
С этой страницы https://ilogisticsaddress.aliexpress.com/addressList.htm
Сделать можно все, насколько это востребовано?

Do you know how to get back webmoney payment for ali?
 
Обновлённый скрипт для авторизации на Скидка.ру

Баги или пожелания по скрипту в лс.
p.s. код не смотреть, сделано лишь бы работало.

JavaScript:
// ==UserScript==
// @name         Skidka - auth.
// @namespace    http://tampermonkey.net/
// @version      0.2
// @author       Dimokin
// @match        https://skidka.ru
// @match        https://skidka.ru/user/auth/
// @match        https://skidka.ru/shops/details/aliexpress-keshbek/
// @match        https://skidka.ru/user/goto/72/
// @grant        none
// @require http://code.jquery.com/jquery-3.3.1.min.js
// ==/UserScript==
(function() {
    'use strict';

    var $ = window.jQuery;

    var MY_MAIL = 'ПОЧТА';
    var MY_PASSWORD = 'ПАРОЛЬ';

    $(document).ready(function() {
        setTimeout(function() {
            if (window.location.href === 'https://skidka.ru/') {
                window.location.href = 'https://skidka.ru/user/goto/72/';
            } else if (window.location.href === 'https://skidka.ru/user/goto/72/') {
                setTimeout(function() {
                    if ($('.goto-not-logged__buttons').length) {
                        window.location.href = $('.goto-not-logged__buttons a').attr('href');
                    }
                }, 1000);
            } else {
                let nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value').set;

                setTimeout(function() {
                    let login = document.querySelector('.auth__phone-input input');
                    let pass = document.querySelector('.pass-input  input');

                    nativeInputValueSetter.call(login, MY_MAIL);

                    login.dispatchEvent(new Event('change', {
                        bubbles: true
                    }));
                    login.dispatchEvent(new Event('input', {
                        bubbles: true
                    }));

                    nativeInputValueSetter.call(pass, MY_PASSWORD);

                    pass.dispatchEvent(new Event('change', {
                        bubbles: true
                    }));
                    pass.dispatchEvent(new Event('input', {
                        bubbles: true
                    }));

                    setTimeout(function() {
                        $(".auth__buttons button").trigger('click');

                        setTimeout(function() {
                            window.location.reload();
                        }, 1000);
                    }, 1000);
                }, 1000);
            }
        }, 1000);
    });
})();
переходы учитывает, а кэшбэк ни один не залетел(((

Screenshot_1.webp
 
@Andronio
Сделай пожалуйста в своем скрипте AliExpress country changer возможность смены языка на английский, для 20/20 очень пригодилось бы
 
А разве вы не фиксируете в своей табличке адрес доставки ?
Я делаю наоборот, у меня на 10 лет вперед сгенерированы имена, адреса и телефоны и я беру из таблички следующий адрес и вставляю в адрес.
 
просто интересно, сколько это в количестве)?
Касательно имен и адреса, я сделал так: имя и фамилию сковеркал всеми возможными способами (Andrey, Andrei, Andrew, Andriy и т.д., тоже самое с фамилией), далее сделал комбинацию каждого имени с каждой фамилией. Получилось более 10 тыс. вариантов. Перемешал их случайным образом, чтобы не было рядом вариантов со сменой одной буквы. Тоже самое с адресом. Проблема с телефоном, там всего 1000 вариантов +7-777-777-777/123. Сейчас уже идет второй номер.
 
Касательно имен и адреса, я сделал так: имя и фамилию сковеркал всеми возможными способами (Andrey, Andrei, Andrew, Andriy и т.д., тоже самое с фамилией), далее сделал комбинацию каждого имени с каждой фамилией. Получилось более 10 тыс. вариантов. Перемешал их случайным образом, чтобы не было рядом вариантов со сменой одной буквы. Тоже самое с адресом. Проблема с телефоном, там всего 1000 вариантов +7-777-777-777/123. Сейчас уже идет второй номер.
Алгоритм я и так понял, просто любопытно сколько вышло в итоге на 10 лет))))
 
есть ссылочка как использовать эти скрипты? Какое расширение использовать?
 
есть ссылочка как использовать эти скрипты? Какое расширение использовать?
Там описание как ставить
 
Накидал по быстрому такой скрипт, товары только не прячет, вроде работает:

JavaScript:
// ==UserScript==
// @name         SS
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        *://*.aliexpress.com/wholesale*
// @match        *://*.aliexpress.ru/wholesale*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    var first_trigger=true;

   // console.log('START');

    window.onload = function(){

        if(first_trigger){

/*
       localStorage.setItem("second", "true");
       var setting = localStorage.getItem("second");
       console.log(setting);
*/


  document.getElementsByClassName('nav-breadcrumb')[0].insertAdjacentHTML('afterend',`<div style="position:relative;border-radius:3px;text-align:center; top:5px;padding-top:5px;padding-bottom:5px;width:112px;background:#ef0000;color:white">Дополнить

<div id="s_inp_cost" style="position:absolute;border-radius:3px;display: inline-block;border:none;background:blue;top:0px;height:100%; left:117px;">
<input id="avg_id" value="" style="line-height:1.51em;width:4.5em;" placeholder="avg" autocomplete="off" value="" >

</div>
<div id="vai" style="position:absolute;background:orange;user-select:none;cursor:pointer;left:14em;width:60px;text-align:center; top:0px;border-radius:3px;padding-top:5px;padding-bottom:5px;">OK</div>
</div>

                                      `);

document.getElementById('vai').addEventListener('click',comecar);


        function comecar(event){

        var preco = document.getElementById('avg_id').value.toString();

            var tipo = -1;



            var tem_un_ponto = preco.indexOf('.');
            if(tem_un_ponto>-1){ tipo = 1; }
            else{
             var o_primeiro = preco.substring(0,1);
                 if(o_primeiro === '0'){ tipo = 2; }else{

                     tipo = 3;

            }

            }//else nao ponto


        //    console.log(tipo);

            var min_set = document.querySelector("input[placeholder='min']");
            var max_set = document.querySelector("input[placeholder='max']");

if(!min_set){

           min_set = document.querySelector("input[placeholder='мин']");
           max_set = document.querySelector("input[placeholder='макс']");
}


          var nivs = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value').set;

            min_set.focus();


            switch(tipo){

                case 1:
                   // min_set.value = preco;
                   // max_set.value = preco;


                    nivs.call(min_set, preco);
                      min_set.dispatchEvent(new Event('change', {bubbles: true}));
                      nivs.call(max_set, preco);
                      max_set.dispatchEvent(new Event('change', {bubbles: true}));


                    ;break;

                case 2:
                  //  min_set.value = o_primeiro +'.'+preco.substring(1);
                  //  max_set.value = o_primeiro +'.'+preco.substring(1);

                      nivs.call(min_set, o_primeiro +'.'+preco.substring(1));
                      min_set.dispatchEvent(new Event('change', {bubbles: true}));
                      nivs.call(max_set, o_primeiro +'.'+preco.substring(1));
                      max_set.dispatchEvent(new Event('change', {bubbles: true}));

                    break;

                case 3:
                   // min_set.value = o_primeiro +'.'+preco.substring(1);
                   // max_set.value = o_primeiro +'.'+preco.substring(1);
                      nivs.call(min_set, o_primeiro +'.'+preco.substring(1));
                      min_set.dispatchEvent(new Event('change', {bubbles: true}));
                      nivs.call(max_set, o_primeiro +'.'+preco.substring(1));
                      max_set.dispatchEvent(new Event('change', {bubbles: true}));



                    ;break;


                   }

  //click price
       var gogo = document.querySelector('a.ui-button.narrow-go');

       if(gogo){gogo.click();



               }





          




            var target = document.getElementsByClassName('list-items')[0];

const config = {
    attributes: true,
    childList: true,
    subtree: true
};





            // Функция обратного вызова при срабатывании мутации
const callback = function(mutationsList, observer) {



    for (let mutation of mutationsList) {

        if (mutation.type === 'childList') {


//free ship click
            var envio_gratis = document.querySelectorAll("span span.next-checkbox-label span");

            for (var ips = 0; ips < envio_gratis.length; ips++) {
                if (envio_gratis[ips].textContent == "Free Shipping" || envio_gratis[ips].textContent == "Бесплатная Доставка") {
                envio_gratis = envio_gratis[ips];
                break;
                }
           }



                if(envio_gratis.parentElement.parentElement.getElementsByClassName('next-checkbox')[0].getElementsByTagName('input')[0]){
            if(!envio_gratis.parentElement.parentElement.getElementsByClassName('next-checkbox')[0].getElementsByTagName('input')[0].checked){
            envio_gratis.click();
              //  envio_gratis.parentElement.parentElement.getElementsByClassName('next-checkbox')[0].getElementsByTagName('input')[0].checked==='true';
            } }


             observer.disconnect();




        }

    }


};//callback



const observer = new MutationObserver(callback);
observer.observe(target, config);





        }//comecar


            first_trigger=false;



        }//!first_trigger


    }



})();
Двойное сообщение соединено:
Теперь скрывает товары, скрипт не влазит в сообщение, поэтому в файле

Скрипт работает?? Почему-то ничего не происходит
 
Подправил скрипт для форума, игнорирование картинки из ссылки.

Andronio, мил человек, сделай плизззззз к этому скрипту опцию чтобы показывались только сообщения с лайками пользователей!

Сил нет больше читать горы флуда в ветках Алиэкспресс на форуме, которые появились за последние дни!!!!
 
Andronio, мил человек, сделай плизззззз к этому скрипту опцию чтобы показывались только сообщения с лайками пользователей!
Чтобы показывались сообщения только если есть лайки? Все остальные скрывать? Тогда будут пустые страницы. :lol:
 
@Andronio Сделай пожалуйста чтобы в скрипте country changer можно было язык тоже менять. Очень нужна сейчас с 2020 купонами
 
Назад
Сверху