Export order history

  • /*
     * @title Export order history
     * @description 本屋タウンの注文履歴をtsv化
     * @include https://www.honya-town.co.jp/hst/HTOrderCnd
     * @license MIT License
     * @require 
     */
    (function() {
    	function strip(text) {
    		return text.replace(/^\s+/, '').replace(/\s+$/, '');
    	}
    
    	var list = [];
    	var els = document.querySelectorAll('td[bgcolor="#4a8692"] > table');
    	for (var i = 0; i < els.length; i++) {
    		var el = els[i];
    		var _date = el.querySelector('tbody > tr > td > table > tbody > tr > td:last-child > small');
    		_date = strip(_date.textContent);
    		var orders = el.querySelectorAll('tbody > tr > td > table:last-child[cellspacing=\'10\'] > tbody > tr > td > table > tbody > tr');
    		for (var j = 1; j < orders.length; j++) {
    			var order = orders[j];
    			var line = [];
    			line.push(_date);
    			line.push(strip(order.querySelector('td:nth-child(2) small').textContent));
    			line.push(strip(order.querySelector('td:nth-child(3) small').textContent));
    			line.push(strip(order.querySelector('td:nth-child(4) small').textContent));
    			list.push(line.join('\t'));
    		}
    	}
    	var textarea = document.createElement('textarea');
    	textarea.appendChild(document.createTextNode(list.join('\n')));
    	textarea.setAttribute('cols', '80');
    	textarea.setAttribute('rows', '10');
    	var ref = document.querySelector('form > div[align="right"] > table > tbody > tr:last-child');
    	var td = document.createElement('td');
    	td.appendChild(textarea);
    	ref.appendChild(td);
    })();
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2010/09/13 22:26:25 - 2010-09-13