您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Get selected items in Taobao cart
// ==UserScript== // @name 淘宝购物车信息获取 // @namespace http://tampermonkey.net/ // @version 0.61 // @description Get selected items in Taobao cart // @author You // @match https://cart.taobao.com/* // @grant GM_setClipboard // @license MIT // ==/UserScript== (function () { "use strict"; console.log(`Title: `); // 创建一个按钮 let button = document.createElement("button"); button.textContent = "Get Cart Info"; button.style.position = "fixed"; button.style.top = "0"; button.style.right = "0"; button.style.zIndex = "9999"; button.style.fontSize = "20px"; // button 美化 button.style.padding = "10px"; button.style.border = "none"; button.style.backgroundColor = "#f40"; button.style.color = "#fff"; button.style.cursor = "pointer"; button.style.outline = "none"; document.body.appendChild(button); // json let json = { items: [], }; // 添加点击事件监听器 button.addEventListener("click", function () { // 获取已经勾选的商品 let selectedItems = document.querySelectorAll(".trade-cart-item-info-checked"); // 遍历每一个商品 for (let item of selectedItems) { // 判断是否为空,如果为空则跳过 // if ( // item.parentNode.parentNode.parentNode.parentNode.querySelector( // ".item-pic.J_ItemPic.img-loaded > a" // ) === null // ) { // // 跳过 // continue; // } // 获取商品名称 let title = item .querySelector(".trade-cart-item-detail> div > a") .getAttribute("title"); // 获取商品url let url = item.querySelector(".trade-cart-item-detail> div > a").getAttribute("href"); console.log( title,url ); // img url let img_url = item.querySelector(".trade-cart-item-detail> a > img").src; // 类型 .trade-cart-item-info-checked > div > div.trade-cart-item-sku.sku--amddnLro > div > div let cate = item.querySelector(".trade-cart-item-sku > div > div").textContent.trim(); // let cate = item.parentNode.parentNode.parentNode.parentNode.querySelector( // ".item-props.item-props-can" // ); // // 遍历类型中的每一个属性 sku-line // let cate_str = ""; // if (cate) { // for (let cate_item of cate.querySelectorAll(".sku-line")) { // cate_str += cate_item.textContent.trim() + "; "; // } // } //单价 J_Price price-now 的文本内容 var elements = item.querySelectorAll(".trade-price-container"); if (elements.length > 0) { // 使用 length - 1 来获取最后一个元素的索引 var priceElement = elements[elements.length - 1]; // 假设你想获取这个元素的文本内容 // var content = lastElement.textContent || lastElement.innerText; // 对于IE浏览器,可能需要innerText // console.log(content); } else { console.log("没有找到匹配的元素"); } let price = priceElement.textContent.trim().replace("优惠价","").replace("¥",""); //数量 text text-amount J_ItemAmount 的value let num = item.querySelector( " .trade-cart-item-quantity > div > input " ).value; // console.log(value); // 总价 J_ItemSum number 的文本内容 let total = price*num; // 输出商品信息 console.log( `Title: ${title} URL: ${url} img_url: ${img_url} cate: ${cate} price: ${price} num: ${num} total: ${total}` ); // 添加到json json.items.push({ title: title.replace(/[^a-zA-Z0-9\u4E00-\u9FA5]/g, "-"), url: url, img_url: img_url, cate: cate.replace(/[^a-zA-Z0-9\u4E00-\u9FA5]/g, "-"), price: price, num: num, total: total, }); } // json 去除重复 let json_items = json.items; json.items = []; for (let item of json_items) { let flag = true; for (let item2 of json.items) { if (item.cate === item2.cate && item.title === item2.title) { flag = false; break; } } if (flag) { json.items.push(item); } } console.log(JSON.stringify(json)); // 保存到剪切板 GM_setClipboard(JSON.stringify(json), "text"); // 清空变量 json = { items: [], }; }); // 合并生成json // 输出json })();