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

동기



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

개요



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

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

당 페이지에서는 ①의 다운로드 스크립트를 기재합니다.

②를 보시는 분은 클릭 포스트 추적 번호 일괄 로드(실행편)

사용법



1. Tampermonkey 설치

2. 클릭 포스트의 톱 페이지에 「번호 취득」의 버튼이 추가되므로, 클릭



3. 표시하고 있는 페이지의 「문의 번호」와 「배달처 이름」이 세트가 된 텍스트 데이터의 다운로드가 개시된다
※파일명은 「clickpost*.txt」. (*)는 페이지 번호.

4. 동시에 클릭 포스트의 다음 페이지로 자동 이동

5. 필요한 페이지 수만큼, 순서 2~4를 반복한다(순서 3, 4는 자동)

(주의) 수동으로 페이지 이동을 하면 "번호 취득"버튼이 사라집니다. 이 경우 페이지를 다시로드하십시오. 또한 정렬하면 작동하지 않습니다.

스크립트


// ==UserScript==
// @name         Click Post Tracking Number
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://clickpost.jp/mypage/index*
// @grant        none
// @require      http://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js
// ==/UserScript==


function getTrackingNumber(){

    var TrackingNumber = [];
    var Name = [];

    // お問い合わせ番号を取得
    $('.col_package_number > a').each(function(){
        TrackingNumber.push($(this).text());
    });
    TrackingNumber.shift();

    // 名前を取得
    $('.col_receiver > a').each(function(){
        Name.push($(this).text());
    });
    Name.shift();

    // 現在のページ数を取得
    var FileName = $('.page.current').text();
    FileName = FileName.replace(/\n/g, '');

    if(TrackingNumber.length != Name.length){
        alert('番号と名前の数が不正です。');
    }

    // 出力データ作成
    var out_data = '';
    for(var i = 0; i < TrackingNumber.length; i++){
        out_data += TrackingNumber[i] + ',' + Name[i] + '\r\n';
    }

    // データダウンロード
    $('<a>', {
        href: 'data:text/plain,' + encodeURIComponent(out_data),
        download: 'clickpost' + FileName + '.txt'
    })[0].click();

    // 次ページへ移動
    window.location.href = $('a[rel="next"]').attr('href');
}


(function() {
    'use strict';
    // ボタンを設置
    var div_element = $('<div></div>');
    div_element.addClass('nav_item');
    div_element.html('<input aria-disabled="false" class="button navi_button ui-button ui-widget ui-state-default ui-corner-all button-blue limited" role="button" type="button" value="番号取得">');
    div_element.insertBefore($('#nav_box > div:nth-child(5)'));
    div_element.on('click', function(){
        getTrackingNumber();
    });

})();

좋은 웹페이지 즐겨찾기