V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mfsw
V2EX  ›  程序员

请教技术大佬,如何在京东商品页面,只看当前商品评价?

  •  
  •   mfsw · 2023-02-23 12:07:39 +08:00 · 1235 次点击
    这是一个创建于 643 天前的主题,其中的信息可能已经有所发展或是发生改变。

    商品的评价数量,是我购买商品的重要参考数据。

    但是京东默认是显示一组相关商品的评价数量,必须点那个“只看当前商品评价”的复选框,才能看到只针对于当前商品的评价数量。

    请教下,有没有脚本或者软件之类的,可以直接显示当前商品评价数量?

    如果只看一个商品页面或者少数几个商品页面时,点一下那个“只看当前商品评价”复选框是没啥问题,但是我习惯打开很多页面,一个个去点比较麻烦。

    9 条回复    2023-02-24 14:18:20 +08:00
    bjzhush
        1
    bjzhush  
       2023-02-23 13:40:01 +08:00
    试着写了个油猴脚本来完成你说的这个事,自测可用。

    // ==UserScript==
    // @name JD 商品页自动选择只看当前商品评论
    // @namespace http://tampermonkey.net/
    // @version 0.1
    // @description try to take over the world!
    // @author You
    // @match https://item.jd.com/*.html
    // @icon https://www.google.com/s2/favicons?sz=64&domain=jd.com
    // @grant none
    // ==/UserScript==

    (function() {
    window.addEventListener('load', function() {
    $('[data-anchor=#comment]').trigger('click');
    setTimeout(function() {
    $('#comm-curr-sku').trigger('click');

    }, 3000);

    }, false);
    })();
    bjzhush
        2
    bjzhush  
       2023-02-23 13:41:32 +08:00
    因为商品评论那块是模拟点击的,我不知道怎么捕获事件完成的动作,就加了个 3 秒延时之后自动选只看当前商品评论。
    没怎么写过 JS ,见笑了,功能是 OK 的,不过写的不是很漂亮,凑合用哈
    mfsw
        3
    mfsw  
    OP
       2023-02-23 14:29:22 +08:00
    @bjzhush 大佬 NB ,懂技术就是好!!! 万分感谢!!!

    我试了一下,貌似没起作用,不知道是否我的操作有误,也可能是咱俩的应用环境不同?
    我的是 chrome 最新版,配合 Tampermonkey 4.18.1
    以下面的 jd 页面为例: https://item.jd.com/100002183459.html

    请看图,我不懂 js 代码,添加脚本后,好像是提示未定义。
    https://www.imagebam.com/view/MEIZDWS

    补充下我的需求,您看能否实现这个效果。
    请看图,https://www.imagebam.com/view/MEIZDX0
    我需要 jd 加载完商品页面后,前面这图中红圈处,复选框能自动选中。


    另外,还有个“过分点的要求”,下图红圈位置,能否直接显示勾选了“只看当前商品评价”这个复选框之后的“评价”数值呢?
    如果这点难以实现,能否在红圈附近,附加显示这个数值呢? 当然,如果能把勾选复选框之后的好评度这个值也附加带上就更好了。
    比如这里原来显示的累计评价是 100 万,我希望这里能直接显示勾选复选框之后的数值 10 万,以及好评率 97%。
    https://www.imagebam.com/view/MEIZDX1
    之所以有这个需求,是因为打开商品页面后,最初的页面是看不到下面的复选框处的数值的,必须得往下翻页才能看到。直接能在最上面看到,会方便不少。
    实现这个需要可能比较麻烦,辛苦大佬了。


    我觉得您写的这个脚本会有很大需求吧,大佬你能不能考虑上传到油猴网站啊,可以造福更多网友啊。
    vcbal
        4
    vcbal  
       2023-02-23 14:47:38 +08:00
    @mfsw 你发的这个京东商品,不同 sku 都已经分开成独立的商品了,相应的商品评价应该也是相应的,你这个需求 有点儿不太成立啊
    mfsw
        5
    mfsw  
    OP
       2023-02-23 14:58:55 +08:00
    @vcbal 勾选“只看当前商品评价”之前,评论数 100 万,勾选之后,评论数 10 万,jd 默认页面应该是全部商品一起的评价数据,没有独立分开的。
    bjzhush
        6
    bjzhush  
       2023-02-23 15:12:25 +08:00   ❤️ 2
    @mfsw 先吐槽下最近的破系统,被 at 收不到通知,还是又看到这个贴点进来看到的。
    我挨个回答啊
    首先,我是明白你的需求的,就是打开页面之后自动选择只看当前商品评论
    第二,我的脚本中之所以分为两步,是因为默认是展示商品详情,评论相关数据没加载,所以第一步 data-anchor=#comment 的模拟点击,目的是从商品介绍栏切换到商品评论栏同时加载评论数据和只看当前评论按钮。
    第三,$是 jquery 中定义的变量,油猴脚本中提示$未定义,是因为 JD 的页面引用了 jQuery ,所以这个变量在 JD 页面上是定义了的,也就不需要在油猴脚本中引入 jQuery 框架了。
    第四,改数值显示位置我觉得没太大必要了,打开页面后能自动切换基本上就够用了
    第五,你发的这个商品页面我反复测试 N 次都是可以正常运行的,为防止你粘贴过程中丢失格式或字符,我又贴到了
    https://jsfiddle.net/gbo2n8mu/ 这里,请点开这个页面看左下角代码重新复制到油猴,如果功能还不正常,可以按 F12 切换到 console 看是不是有报错,另外也可以试着把 3000 改为 8000 这样看看是不是浏览器运行比较慢。
    coolloves
        7
    coolloves  
       2023-02-23 17:01:03 +08:00
    实测确实可用,暴力猴子,谢谢
    mfsw
        8
    mfsw  
    OP
       2023-02-23 19:45:53 +08:00
    @bjzhush 感谢大佬又帮忙科普,学到了。
    刚才又试了下,可以了。也不清楚下午的时候是咋回事,终于能用了。
    您这段代码太高效了,节省了我大量的时间,万分感谢。
    bjzhush
        9
    bjzhush  
       2023-02-24 14:18:20 +08:00
    @mfsw 不客气
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1130 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 22:54 · PVG 06:54 · LAX 14:54 · JFK 17:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.