如何使用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才能显示价格。

阅读 3.5k
2 个回答
//依次点击所有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结构或者其他地方变了,我也不太清楚,至少我写代码的水平也不高,如果跑不起来,建议卸载一下那些电商插件,或者换个干净的浏览器。我的浏览器是什么都没装的。
跑出来后是下面这样的:
image.png
我还帮你组了一些产品标题,到时候你用excel分列就行!

简述下你这种场景如何吃食物
image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题