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

如何将按钮的onclick函数转换为文本以提取其中URL?

提取按钮onclick属性中的URL方法

第一步:获取onclick函数的字符串形式

元素的.onclick属性返回的是函数对象,调用.toString()方法就能将其转为包含函数代码的纯文本字符串,替换你代码中的???即可:

const onclickContent = document.querySelectorAll('.btn-primary')[3].onclick.toString();

第二步:从字符串中提取JSON参数并解析URL

假设onclick对应的函数调用格式为funcName({key1: value1, url: '目标地址', ...}),可以通过正则匹配出参数对象,再解析提取URL:

// 匹配括号内的JSON对象内容
const paramMatch = onclickContent.match(/\(({[\s\S]*?})\)/);
if (paramMatch) {
  // 若对象内用单引号,先替换为双引号以符合JSON格式
  const validJson = paramMatch[1].replace(/'/g, '"');
  const params = JSON.parse(validJson);
  // 替换为实际存储URL的键名
  const targetUrl = params.url;
  console.log(targetUrl);
}

特殊情况处理

如果参数对象格式不标准(比如键名未加引号),可以使用eval解析(仅在信任的页面环境下使用,避免安全风险):

// 截取函数调用的参数部分
const paramPart = onclickContent.slice(onclickContent.indexOf('(') + 1, onclickContent.lastIndexOf(')'));
const params = eval(`(${paramPart})`);
const targetUrl = params.url;
console.log(targetUrl);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 08:10:53