编辑代码

var maxTryTimes=10,currentTimes=0;
function craw() {
    if(isNeedLogin()){
        currentTimes=0;
        window.webkit.messageHandlers.login.postMessage("login");
        return;
    }
    if(isEmptyPage()){
        if(currentTimes > maxTryTimes){
            currentTimes = 0;
            var items=[];
            var info={};
            items.push(info);
            var empty_json=JSON.stringify(items);
            window.webkit.messageHandlers.empty.postMessage(empty_json);
            return;
        }else{
            currentTimes++;
        }
    }

    var items = getDatas();
    if(items) {
        currentTimes = 0;
        
    }
    window.webkit.messageHandlers.data.postMessage(items);
}

function getDatas(){
    for (var tbc_data = [], index = 1, div_items = document.getElementsByClassName("page-container"), i = 0; i < div_items.length; i++) {
        var div_item = div_items[i];
        var item = div_item.$$instance;
        for (var k in item) {
            if ("props" == k) {
                var item_child = item.props.children, child_array = [];
                if (item_child && Array.isArray(item_child)) {
                    for (var m = 0; m < item_child.length; m++) {
                        child_array.push(item_child[m].props.data);
                    }
                    var sub_data = {};
                    var products=[];
                    for (var n = 0; n < child_array.length; n++) {
                        var item_product={},single_item = child_array[n];
                        if(single_item && Array.isArray(single_item)) {
                            for (var s = 0; s < single_item.length; s++) {
                                var cellItem = single_item[s];
                                if("orderinfo"==cellItem.cellType) {
                                    var fields = cellItem.cellData[0].fields;
                                    sub_data.createTime=fields.createTime.value;
                                    sub_data.main_order_id=fields.id.value;
                                }else if("paydetail"==cellData.cellType) {
                                    var fields = cellItem.cellData[0].fields;
                                    sub_data.totalProductPrice=fields.totalProductPrice.value;
                                    sub_data.actualFee=fields.actualFee.value;
                                }else if("sub"==cellData.cellType) {
                                    var fields = cellItem.cellData[0].fields;
                                    for(var c in cellFields) {
                                        "pic"==c &&(item_product.pic=cellFields[c]),
                                        "quantity"==c&&(item_product.quantity=cellFields[c]),
                                        "title"==c&&(item_product.title=cellFields[c]),
                                        "priceInfo"==c&&(item_product.price=cellFields[c].promotion);
                                    }
                                    products.push(item_product);
                                }else if("storage"==cellData.cellType) {
                                    var fields = cellItem.cellData[0].fields;
                                    sub_data.item_ids=fields.subAuctionIds;
                                    sub_data.sub_order_ids=fields.subOrderIds;
                                    sub_data.status_code=fields.statusCode;
                                }
                            }
                        }
                        item_product.hasOwnProperty("title") && (products.push(item_product));   
                    }
                    sub_data.hasOwnProperty("main_order_id") && (sub_data.items = products, tbc_data.push(sub_data));
                }
            }
        }
    }
    var tbc_data_json = JSON.stringify(tbc_data);
    return tbc_data_json;
}

function isNeedLogin(){
    var login = document.getElementsByTagName("iframe")[0];
    if(login && login.hasAttribute("src")){
        var src = login.getAttribute("src");
        if(src.search("login.m.taobao.com")) {
            return true;
        }
    }
    if(document.getElementById("login")){
        return true;
    }
    return false;
}

function isEmptyPage(){
    var empty = document.getElementsByClassName("search-empty");
    return (empty.length>0?true:false);
}

function crawNext(){
    document.querySelector(".main-container").scrollTo(0, document.querySelector(".main-container").scrollHeight);
}