클릭 포스트 추적 번호 일괄 로드(실행편)

동기



아마존의 셀러 센트럴에 클릭포스트 추적번호를 하나 하나 입력하는 일에 혐오가 가해 정신 붕괴하기 전에 자동화를 도모했다.

개요



본 내용은 이하의 2부 구성입니다.

① 클릭 포스트 페이지에서 추적 번호 목록을 반자동 다운로드
② 아마존 셀러 센트럴에서 추적 번호 목록을 읽고 자동 입력

이 페이지에서는 ②의 자동 입력 스크립트를 기재합니다.

①이 아직 분은, 클릭 포스트 추적 번호 일괄 로드(준비편) 로부터 부디.

사용법



1. Tampermonkey 설치

2. 아마존 셀러 센트럴의 「주문 관리」→「선택한 상품의 출하 통지를 실시한다」→「GO」

3. 「복수 상품의 발송 통지」아래에, 파일 선택 버튼이 추가되므로, 클릭


4.clickpost*.txt 파일을 모두 선택


5. 배송 통지의 '배송 주소' 이름과 클릭 포스트 이름이 정확히 일치하면 추적 번호가 자동으로 입력됩니다.
※일치하지 않는 경우(반각/전각 스페이스 등) ・추적 번호가 없는 경우는, 셀러 센트럴의 입력 박스는 비어 있습니다.

(주의) 클릭 포스트의 파일을 다시 읽고 싶을 때, 1회째와 같은 것을 선택했을 경우는, 다시 읽어들이지 않습니다. 따라서 동일한 파일을 로드하려면 페이지를 다시 로드한 다음 다시 선택하십시오.

스크립트


// ==UserScript==
// @name         Amazon Seller Tracking Number
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://sellercentral.amazon.co.jp/gp/orders-v2/bulk-confirm-shipment/ref=ag_bulkconf_cont_myo?ie=UTF8&orderID=*
// @grant        none
// @require      http://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js
// ==/UserScript==

(function() {
    'use strict';

    if (window.File && window.FileReader && window.FileList && window.Blob) {
    // Great success! All the File APIs are supported.
    } else {
        alert('The File APIs are not fully supported in this browser.');
    }

    // clickpostファイル読み込みボタン設置
    var div_element = $('<div></div>');
    div_element.html('<input type="file" multiple id="clickpost">');
    div_element.insertBefore($('#myo-cms'));

    // clickpostボタンの動作内容
    var clickpost_data = '';
    $('#clickpost').on('change',  function(){

        // 未出荷の宛名リスト読込
        var row = $('#myo-cms > table.data-display')[0].rows;
        var data = [];
        for(var i = 0; i < row.length - 1; i++){
            var tr_num = i + 2;
            data[i] = $('#myo-cms > table.data-display > tbody > tr:nth-child(' + tr_num + ') > td:nth-child(3)').html();
            data[i] = data[i].replace(/\n/g, '');
            data[i] = data[i].replace('', '');
            data[i] = data[i].split('<br>');
            data[i] = data[i][data[i].length - 2];
        }

        // clickpostデータ読込
        var clickpost = $('#clickpost').prop('files');
        for(var j = 0; j < clickpost.length; j++){
            var reader = new FileReader();
            reader.onload = function(e){
                clickpost_data = clickpost_data + e.target.result;
            };
            reader.readAsText(clickpost[j]);
        }

        setTimeout(function(){

            // データ整形
            var split_data = clickpost_data.split('\n');
            split_data.pop();
            var clickpost_all_data = [];
            for(var i = 0; i < split_data.length; i++){
                clickpost_all_data.push(split_data[i].replace('\r', '').split(','));
            }

            // データマッチ
            for(var j = 0; j < data.length; j++){
                for(var k = 0; k < clickpost_all_data.length; k++){
                    if(data[j] === clickpost_all_data[k][1]){
                        // 追跡番号挿入
                        var tr_num = j + 2;
                        $('#myo-cms > table.data-display > tbody > tr:nth-child(' + tr_num + ') > td:nth-child(4) > input').val(clickpost_all_data[k][0]);
                        break;
                    }
                }
            }


        },500);

    });

})();

좋은 웹페이지 즐겨찾기