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

基于Tampermonkey实现自动点击多特定文本问卷按钮求助

如何用Tampermonkey同时选中含'Male'和'Mr.'的问卷按钮

你的现有脚本之所以只能触发'Male'按钮的点击,是因为find()方法只会返回第一个匹配到的元素。要同时处理'Male'和'Mr.'两个目标,我们只需要调整逻辑,找出所有符合条件的元素并逐个触发点击就可以了。

下面是修改后的完整脚本:

// ==UserScript==
// @name Male & Mr. Auto-select
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Auto-select buttons with 'Male' and 'Mr.' text
// @author You
// @match https://tasupport.co1.qualtrics.com/jfe/form/SV_0qez6NHJGoCAmMt
// @match https://tasupport.co1.qualtrics.com/jfe2/form/SV_0qez6NHJGoCAmMt/next?rand=775440350&tid=1&t=1547858208474
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
// @require https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant GM_addStyle
// ==/UserScript==

// 定义需要匹配的目标文本数组,后续要加其他选项直接在这里添加即可
const targetTexts = ['Male', 'Mr.'];

const fire = () => {
    // 筛选出所有文本匹配目标数组的span元素
    const matchingElements = Array.from(document.querySelectorAll('label > span'))
        .filter(e => targetTexts.includes(e.textContent.trim()));
    
    // 遍历所有匹配元素,点击它们的父label按钮
    matchingElements.forEach(element => {
        element.parentElement.click();
    });
};

waitForKeyElements("label", fire);

关键修改说明:

  • 新增targetTexts数组:把需要自动选中的文本统一放在这里,后续要扩展其他选项(比如'Female'、'Ms.')直接修改数组即可,非常灵活
  • 用filter()替代find():find()只返回第一个匹配项,filter()会返回所有符合条件的元素,这样就能同时处理多个目标
  • 加入trim():处理文本前后可能存在的空格,避免因为格式问题导致匹配失败
  • 用forEach()遍历触发点击:对每个匹配到的元素,执行父label的点击操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:59:25