小红书改版后发布按钮抓不到?两个思路绕开Shadow DOM限制

2026-05-27 22:27:19 0点赞 0收藏 0评论

最近在影刀社区看到一个哥们的求助帖,问题是这样的:

"小红书发布笔记-无法定位发布按钮,只能定位上一级。前段时间可以,改版后我发现不能定位,请问这种情况怎么解决呢?"

掌心向暖RPA自动化掌心向暖RPA自动化

这个问题看起来很具体,但仔细想想挺有意思的——一个普通的发布按钮,怎么突然就找不到了?

一查才发现,小红书玩儿了个花活。

掌心向暖RPA自动化掌心向暖RPA自动化

它们把"发布"按钮包裹在 template shadowrootmode="closed" 标签中,属于封闭的 Shadow DOM 节点,这导致影刀 RPA 无法正常捕获发布按钮元素。具体看一下源码:

 

   

      /* 一堆样式 */

   

   

     

        暂存离开

        发布

     

   

 

Shadow DOM 这个技术,说白了就是一个隔离机制。它能在普通 DOM 树之外挂一个完全独立的内部 DOM,外面的玩意进不去,里面的也出不来。

XPath 顺着树往下走,碰到 xhs-publish-btn 这一层就直接"撞墙"了。浏览器在底层把这条路封死了,里面的 标签,XPath 根本看不见。

掌心向暖RPA自动化掌心向暖RPA自动化

这是 Web 标准的一个设计,用来防攻击、防爬虫、防止自动化脚本随意点击。但这对做自动化的人来说,就成了一道坎儿。

有些朋友直接卡在这里——前面的流程全自动化了,最后一步点不动,流程中断,很窝火。

好在这事儿有解。今天介绍两个思路,第一种是影刀社区?? DC 哥??分享的,第二种是我自己的思路。两个都实测能跑通。

第一招:原型链劫持 — 油猴

原理很简单,小红书在建立 Shadow DOM 的时候会调浏览器的 attachShadow 方法,传入 { mode:closed} 让浏览器封死内部。

我们提前在这个方法上做手脚,把参数强行改成 {mode:open} ,浏览器就开门了。

掌心向暖RPA自动化掌心向暖RPA自动化

怎么操作呢。不复杂。

1. 浏览器装油猴扩展。浏览器扩展商店 搜 Tampermonkey,装上。

掌心向暖RPA自动化掌心向暖RPA自动化

2. 装好以后点击油猴图标,选「创建新脚本」或「新增脚本」,把这段代码复制进去:

掌心向暖RPA自动化掌心向暖RPA自动化

 

// ==UserScript==

// @name         强制Shadow DOM为open模式

// @match        :///*

// @grant        none

// ==/UserScript==

(function() {

    'use strict';

    Element.prototype._attachShadow = Element.prototype.attachShadow;

    Element.prototype.attachShadow = function(option) {

        return this._attachShadow({ mode: 'open' });

    };

})();

3. 保存脚本。然后去小红书刷新页面。完。

掌心向暖RPA自动化掌心向暖RPA自动化

现在影刀可以正常用 XPath 找到发布按钮并捕获了。

第二招:锚点聚焦 — 纯键盘操作

但我自己后来想了想,觉得有个更朴素的办法。不用装什么油猴,不用改浏览器,就用键盘。

原理也简单,代码和鼠标进不去,但键盘焦点能啊。我直接按 Tab 键就能无视 Shadow DOM。而且,更像人的操作。

掌心向暖RPA自动化掌心向暖RPA自动化

具体操作也很简单:

1. 用影刀控制鼠标,点击 容器的最左侧边缘(这一步相当于把键盘焦点"空降"到页面最底部该容器区域)。

?? 影刀"点击元素"指令默认点正中心,在其他一些场景容易误触内部按钮,所以需要偏移到容器的左上角或右上角边缘空白处。这里点击的目的只是获取焦点,不是触发任何操作。

小红书改版后发布按钮抓不到?两个思路绕开Shadow DOM限制

2. 然后模拟键盘按下 Tab 键,焦点会自动落到"暂存离开"上。再按一次 Tab,焦点落到红色的"发布"按钮上。最后模拟键盘按下 Enter,完成发布。

以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标?~

谢谢你看我的文章,我们下篇分享再见。

掌心向暖RPA自动化掌心向暖RPA自动化

-END-

  • 爱练字的ISTJ型互联网人/信息整合怪/工具人/影刀高级认证工程师。

  • 专注分享:RPA&AI自动化场景提效方案、效率软件安利、实用技能。"所有的生产要素都可以被构建,只有认知是壁垒",欢迎関注

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
0
扫一下,分享更方便,购买更轻松