亚马逊复制数据

admin
2022-09-02 / 0 评论 / 1 阅读 / 正在检测是否收录...
// ==UserScript==
// @name         亚马逊导出SKU成本
// @namespace    http://tampermonkey.net/
// @version      0.0.3
// @description  在询盘页面,搜索按钮后面插入一个下载按钮,点击可以从头开始记录每个客户的分配记录,最终输出成JSON文件自动下载。
// @author       Mike
// @icon http://is.alicdn.com/favicon.ico
// @match        https://sellercentral.amazon.com/skucentral?mSku=*
// @grant        GM_addStyle
// ==/UserScript==
'use strict';

function copy(e, textContent = true) {
    let obj = document.createElement('textarea');
    document.body.appendChild(obj);
    obj.value = textContent ? e.textContent : e;
    obj.select();
    console.log(e);
    document.execCommand('copy', false);
    obj.remove();
    return obj.value
}

function getStrings() {
    var container = document.getElementsByClassName('amz-fees-tableV3-container')
    var text = container[0].innerText

    //var s = "最近 30 天总计每件商品平均销售价格 $9.49已售商品数量 4退货商品数量 0已售商品净数量 4销售额 $37.96净销售额 $37.96亚马逊收取的总费用-$22.35 亚马逊物流配送费用-$11.88商品推广费用-$6.21销售佣金-$4.26非亚马逊总费用- 编辑所售商品成本 x 已售商品数量-杂项费用 x 已售商品数量-净收入 $15.61复制数据";
    text = text.replace(//g,'').replace(//g,'').replace(/\n/g,'')
    console.log(text);

    var averageSalesPrice = mymatch(/平均销售价格[-.$\s\d]+/g,text);
    var unitsSsold = mymatch(/已售商品数量[.$\s\d]+/g,text);
    var unitsReturned = mymatch(/退货商品数量[.$\s\d]+/g,text);
    var sales = mymatch(/[净]?销售额[.,$\s\d]+/g,text);
    var sponsored = mymatch(/商品推广费用[-.$\s\d]+/g,text);
    var fba = mymatch(/亚马逊物流配送费用[-.$\s\d]+/g,text);
    var referral = mymatch(/销售佣金[-.$\s\d]+/g,text);
    var abandon = mymatch(/亚马逊物流弃置订单费用[-.$\s\d]+/g,text);
    var longterm = mymatch(/长期仓储费[-.$\s\d]+/g,text);
    var monthly = mymatch(/月度库存仓储费[-.$\s\d]+/g,text);
    var refundFee = mymatch(/退款管理费用[-.$\s\d]+/g,text);


    var value = averageSalesPrice + '\n' + unitsSsold + '\n' + unitsReturned + '\n' + sales + '\n' + sponsored + '\n' + fba + '\n' + referral + '\n' + abandon + '\n' + longterm + '\n' + monthly + '\n' + refundFee
    console.log(value);

    copy(value,false);

    mymatch(/已售商品净数量[.$\s\d]+/g,text);
    mymatch(/亚马逊收取的总费用[-.$\d]+/g,text);



    //copy(text,false)
}

//与元数据块中的@grant值相对应,功能是生成一个style样式
GM_addStyle('#down_contacts_btn{color:#fb7d3c;}');
//下载按钮的html代码
var down_btn_html = '<span>';
down_btn_html += '<a href="javascript:void(0);" id="down_contacts_btn" class="S_txt2" title="复制数据">复制数据</a>';
down_btn_html += '</span>';
var inner = document.createElement('span');
inner.innerHTML = down_btn_html;
console.log(inner);


function mymatch(pat,s){
    var a = s.match(pat);
    console.log('-----------');
    console.log(a);
    var p = /[-.\d]+/g;
    if (a == null){
        return ''
    }else if (a.length == 1) {
        var aa = a[0].replace(/\$/g,'');
        console.log(aa);
        //console.log(aa.match(p));
        return aa.match(p)
    }else{
        var a1 = a[0].replace(/\$/g,'');
        console.log(a1);
        var a2 = a[1].replace(/\$/g,'');
        console.log(a2);
        //console.log(aa.match(p));
        return a1.match(p) + '\n' + a2.match(p)
    }
}




var $, jQuery;
loading();

function loading(){
    setTimeout(function () {
        console.log('延迟加载')

        //将以上拼接的html代码插入到网页标签中
        var ul_tag = document.getElementsByClassName('amz-fees-sales-table-title');
        console.log('ul_tag');
        if (ul_tag) {
            console.log(ul_tag[0].parentNode);
            ul_tag[0].parentNode.append(inner);
            console.log(ul_tag[0]);
        }
        var btn = document.getElementById('down_contacts_btn');
        console.log(btn)
        btn.onclick = function(){
            getStrings()
            btn.innerHTML = "Copied";
            window.setTimeout(function () {
            btn.innerHTML = '复制数据';
            }, 1500)
        }
    },3000)
}
0

评论 (0)

取消