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

Karate 如何修改指定HTML标签内的文本内容以操作CodeMirror组件

Karate修改CodeMirror组件指定内容的实现方案

两种实现方式可根据你的实际需求选择:

方案1:Karate原生DOM操作(仅修改页面渲染内容)

适合仅需修改前端DOM展示,不需要同步编辑器内部状态的场景:

# 定位class为cm-string的span元素,多个匹配可加父级选择器缩小范围
* def targetSpan = locate("span.cm-string")
# 替换为你需要的目标内容,注意保留原有的引号格式
* targetSpan.text = '"https://你需要替换的新地址"'

方案2:调用JS操作CodeMirror内置API(推荐,同步组件内部状态)

直接修改DOM不会同步到CodeMirror的内部存储数据,后续提交表单/获取编辑器内容时可能仍返回旧值,优先选择该方案:

* script("""
  // 获取CodeMirror实例,根据你页面编辑器的实际容器选择器调整即可
  const cmInstance = document.querySelector('.CodeMirror').CodeMirror
  // 替换目标字符串为新值
  const editorContent = cmInstance.getValue()
  const updatedContent = editorContent.replace('https://reservation-api-env-a1.xxx.xxxxx.com', 'https://你的新目标地址')
  // 把修改后的内容写回编辑器
  cmInstance.setValue(updatedContent)
""")

注意事项

如果页面存在多个cm-string类的元素,可给选择器增加父容器ID/类名做精确匹配,避免误改其他元素内容。

内容的提问来源于stack exchange,提问作者Radim Bukovský

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 13:54:03