【开发者自荐】【油猴脚本】自由选定页面元素进行筛选

搜索结果不理想?列表项目太多?

来自由筛选吧!

下载:

随意筛选 on Greasyfork.orghttps://greasyfork.org/zh-CN/scripts/525953

hzhbest/FilterAnything: [GreaseMonkey Script] Filter any page elements with your free choice:https://github.com/hzhbest/FilterAnything

操作方法

  1. 把鼠标移动到你想要筛选的列表任一项目上,按下快捷键 Ctr + Alt + a

  2. 把鼠标移动到这列表的另一个项目上,点击鼠标左键或再次按下上述快捷键;

  3. 该步操作中,移动鼠标时会有半透明长方形指示当前已标记的项目范围和项目所在的列表范围,方便判断是否已识别到正确的列表;

  4. 在确定目标项目范围后,按住Ctrl键继续移动出列表范围可以扩展更大的列表范围而保持筛选的目标范围不变,此时点击鼠标左键进入筛选模式;

  5. 在使用自动翻页脚本或扩展接续多页时,使用Ctrl方法可以将在多页上的多个列表集中一起筛选;

  6. 此时按 Esc 键将退出识别过程;

  7. 此时列表会进入筛选模式,并有外边框标示,同时显示筛选文本框供输入筛选关键词;

  8. 在筛选文本框中输入你想要筛选出来显示的关键词;

  9. 多个关键词的话用空格分隔,此时需多个关键词都有才筛选显示;

  10. 支持在关键词前添加一个“-”来表示排除该关键词;

  11. 若需要筛选含“-”在开头的关键词,则再在前面添加一个“-”,如筛选“-key”则输入“–key”;

  12. 支持前后使用“/”括起正则表达式;

  13. 输入即筛选,并且同时显示列表中有多少个项目,从中筛选出多少个项目;

  14. 焦点在筛选文本框中时按 Esc 键清空文本框内容;

  15. 焦点不在筛选文本框中时,按 Esc 键退出列表筛选模式;也可点击筛选文本框右边的“X”按钮退出。

操作演示

image

更新日志

  • 2025-02-07:v1.1 修复排除关键词在多关键词时失效的问题;增加悬停机制,在标记第二个元素时稍稍悬停鼠标再点击可避免误点击下方链接。
  • 2025-02-12:v1.2 修复一个识别到顶层元素导致Ctrl方法偶尔失效问题。
  • 2025-04-02:v1.3 增加筛选关键词高亮功能。
碎碎念
  • 之所以有这“随意筛选”的念头,就是因为很多网站自带的搜索功能并不能很“忠诚”地根据关键字搜索出结果(例如为了尽可能多地给出结果而自作主张地拆分关键词或只匹配部分关键词或关键词部分或匹配了形近词近义词)或者甚至不提供当前筛选(如分区、分类)下的搜索功能,导致在面对已有具体列表的情况下也只能通过浏览器或脚本插件的查找关键字功能一个个去找,效率低下。
  • 以前Firefox有个很有用的Link Sidebar扩展,可以条件筛选链接,可是现在没了,只剩个同名的跛脚版,基本上不能用。
  • 当我需要复制或同时打开多个有相同特征的链接,一个个点太慢,Snap Links能批量圈选但只能圈选邻近链接。
  • 写脚本的最初思路是像 东方永页机 选元素那样直接鼠标选列表所在的元素,但那半透明遮罩随着鼠标移动只会倾向覆盖越来越大的范围,没法轻松解决……最后换了个思路,通过两次触发分别获取列表中两个项目的元素,然后取两元素的最小共同父辈元素作为列表,然后一次成功——果然好的点子就是成功的一半。
  • 第一次用 Github Copilot 来写,的确比其他各种AI工具方便多了,自动就在代码中给出建议,好多重复或相似代码直接就推断出来,更有简单函数看着我的注释就给出完整代码,非常方便!
  • 当然,其也不是万能的,毕竟它不能读心,更不会写未见过的函数。它顶多贡献小一半吧。
  • 然后写完脚本,成功把其月配额用尽,爽,但爽完了……
8 个赞

建议整个 主要功能的动图

已增加动图

Firefox,按一次 Esc 不会清空文本框内容,再按一次则退出列表筛选模式。

另外,可以定义快捷键为 Ctrl+F3 吗?可以的话应该如何写?

好用欸,终于可以排除掉Canva的高级版模板了,找不同的ai写过好多脚本了都实现不了

能提供出现问题的网页网址吗?还是说所有网页都同样的情况?
这可能是有别的东西响应了Esc键使焦点转移造成的,如网页(前者)或其他油猴脚本(前后者)或扩展(后者)。

可以,在代码的 #28 行,改为:

const activateKey = "C-F3";

所有网页都这样,可能是和其他扩展或脚本干涉了。那就随它去吧。

C-F3 不起作用,C-M-s 可以,看起来 Fn 键需要特殊的写法?另外有没有办法让脚本更新不影响自定义项目?

牛的 很适合筛选内部系统表格 又不自带筛选功能的那种。

但是没有自带翻页功能,如果我翻页了。就要重新选元素 比较麻烦。

不清楚你那边是不是有其他扩展或脚本占用了快捷键,我这边是正常的:
image

我写成提供自定义选项就能够;但其实这脚本不会有频繁的更新,目前也没多少需自定义的东西,所以目前没这计划。

请参考《操作方法》的第4、5条:

如果自动翻页规则(包括页面自带瀑布流)将新页面内容插入的位置在选定筛选的列表之中,就直接可以自动筛选新插入的项目;
如果自动翻页规则插入的是新列表,则可使用Ctrl方法:

  1. 先至少自动翻页一次,
  2. 然后在翻页位置,先在一个列表中按快捷键再移动鼠标,使半透明遮罩正确标示项目和该列表范围,
  3. 再按住Ctrl将鼠标移动到另一个列表,在确认项目范围正确且列表范围跨过翻页位置之后点左键(可以继续按住Ctrl点也可以在鼠标不动的情况下不按住Ctrl点)。
  4. 这样筛选列表的范围应该足以包含翻页新插入的内容了。

大佬, 筛选框输入文本后除了能筛选出内容外, 能否顺便把对应的文本内容也高亮起来.

这涉及到跨元素定位文本的情况,有点难……
但好像有一个库可以做到,待我测试下引用这库的效果先
——
已利用该库实现,已更新。

最近已经无法访问了,有什么好办法吗?

这个软件可以,它还可以加速 Github。

感动哭了,真心好用,帮大忙了。