LoginSignup
2

More than 5 years have passed since last update.

クリックポスト追跡番号一括読み込み(準備編)

Last updated at Posted at 2018-03-01

動機

Amazonのセラーセントラルに、クリックポストの追跡番号を1つ1つ入力する仕事に嫌気が差し、精神崩壊する前に自動化を図った。

概要

本内容は以下の2部構成です。

①クリックポストのページで追跡番号リストを半自動ダウンロード
②Amazonのセラーセントラルで追跡番号リストを読み込み、自動入力

当ページでは、①のダウンロードスクリプトを記載します。

②をご覧になる方は、クリックポスト追跡番号一括読み込み(実行編) からどうぞ。

使い方

1.Tampermonkeyをインストール

2.クリックポストのトップページに「番号取得」のボタンが追加されるので、クリック

31.jpg

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();
    });

})();

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2