You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用iMacros在Slack中滚动模态窗口以获取全部频道成员?

解决Slack成员模态窗口的iMacros滚动加载问题

嘿,我懂你现在的麻烦——Slack的成员模态窗口是动态加载的,普通的页面滚动根本触发不了所有成员加载出来对吧?别慌,我给你一套专门针对这个场景的iMacros JS方案,保证能把所有成员都滚出来!

核心思路

Slack的成员列表是放在独立滚动容器里的,不是整个页面的滚动条,所以我们得精准定位这个滚动容器,然后循环滚动到底部,直到容器高度不再变化(说明没有新成员可加载了)。

完整iMacros JS代码

var macro;
macro = "CODE:";
// 忽略临时错误,避免宏中途中断
macro += "SET !ERRORIGNORE YES" + "\n";
// 设置单步超时,防止无意义等待
macro += "SET !TIMEOUT_STEP 5" + "\n";
// 等待成员模态窗口完全加载
macro += "WAIT FOR SELECTOR .p-modal__content" + "\n";
// 获取滚动容器初始总高度
macro += "SET scrollHeight EVAL(\"document.querySelector('.c-scrollbar__hider').scrollHeight;\")" + "\n";
macro += "SET prevHeight 0" + "\n";
// 循环滚动直到没有新内容加载
macro += "WHILE {{scrollHeight}} != {{prevHeight}}" + "\n";
macro += "  SET prevHeight {{scrollHeight}}" + "\n";
// 将滚动容器直接滚到最底部
macro += "  EVAL(\"document.querySelector('.c-scrollbar__hider').scrollTop = document.querySelector('.c-scrollbar__hider').scrollHeight;\")" + "\n";
// 等待1秒让Slack加载新成员(网络慢可改成2秒)
macro += "  WAIT SECONDS 1" + "\n";
// 更新滚动容器高度,判断是否还有新内容
macro += "  SET scrollHeight EVAL(\"document.querySelector('.c-scrollbar__hider').scrollHeight;\")" + "\n";
macro += "ENDWHILE" + "\n";

// 执行编写好的宏
iimPlay(macro);

关键细节说明

  • 滚动容器选择器:.c-scrollbar__hider是Slack模态窗口滚动区域的默认类名,如果你的Slack有自定义样式,可按F12打开开发者工具,右键检查滚动区域元素,替换成对应的选择器。
  • 等待时间调整:WAIT SECONDS 1是给Slack加载新成员的缓冲时间,网络差的话可以适当延长,避免滚动太快导致内容没加载完。
  • 循环终止逻辑:通过对比滚动容器的scrollHeight(总高度)是否变化,判断是否加载完所有成员——当高度不再增加时,就说明没有新成员了。

额外小提示

如果运行时找不到元素,你可以先手动打开成员模态窗口,用iMacros的「记录」功能抓取模态窗口和滚动容器的准确选择器,替换到代码里就行。

内容的提问来源于stack exchange,提问作者Green_hood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:10:31