如何使用javascript获取淘宝页面的sku价格?
这个问题感觉特别困难,已经思考很久,网络上没有任何资料,特来请教!
在不使用爬虫和接口的情况,如何单单通过javascript在console控制台输出sku的价格。
淘宝一个商品的每个sku,对应的价格都不一样。但是在pc端的淘宝,先要点击这个sku,这个网页的dom才会更改显示价格。
如何通过javascript一次性在控制台输出所有sku对应的价格。
比如随便举个例子,这个淘宝链接https://detail.tmall.com/item.htm?abbucket=9&id=704520403635,书包有59、69、99,但是需要点击sku才能显示价格。
回复
1个回答
test
2024-06-28
//依次点击所有sku
async function simulateClickAndGetText() {
const skuItems = document.querySelectorAll('.skuItem'); // 根据实际情况选择类名
for (const skuItem of skuItems) {
skuItem.click(); // 模拟点击模块
await new Promise(resolve => setTimeout(resolve, 100)); // 等待2秒
const textContent = skuItem.textContent; // 获取模块文本内容
console.log(document.querySelector('.ShopHeader--title--2qsBE1A').textContent + "&" + document.querySelector('.ItemHeader--mainTitle--3CIjqW5').textContent + "&" + textContent + "&" + document.evaluate('//*[@id="root"]/div/div[2]/div[2]/div[1]/div/div[2]/div[2]/div/div/div/div/div[1]/span[3]', document, null, XPathResult.STRING_TYPE, null).stringValue + "&" + document.querySelector('.ItemHeader--salesDesc--srlk2Hv').textContent);
}
}
simulateClickAndGetText();
题主,你的需求我看了,很简单,因为我是电商小厂的产品,所以我一看就明白了你的需求,你应该是个非技术岗,可能是运营,想要轻松整理一些资料吧。我用模拟点击的方式帮你写了一个。希望采纳~如果你的浏览器装了一些电商插件,可能会让dom结构或者其他地方变了,我也不太清楚,至少我写代码的水平也不高,如果跑不起来,建议卸载一下那些电商插件,或者换个干净的浏览器。我的浏览器是什么都没装的。跑出来后是下面这样的:我还帮你组了一些产品标题,到时候你用excel分列就行!
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容