前端大佬们,请教个 JS 模拟输入的问题

2024-05-31 17:02:55 +08:00
 Jaeger

https://kimi.moonshot.cn/

我想写个 JS 脚本用于模拟在 Kimi 提问界面自动输入问题,方便自己平时快捷提问,但是发现搞不定,求助各位大佬帮助。

它的输入框不是 input 或者 textarea ,类似下面的常规模拟输入代码对它来说无用:

// 查找输入框
var inputElement = document.querySelector('textarea');

// 设置输入框的值
inputElement.value = "Hello, World!";

// 创建并触发 input 事件
var event = new Event('input', {
bubbles: true,
cancelable: true,
});
inputElement.dispatchEvent(event);

// 创建并触发 change 事件
var changeEvent = new Event('change', {
bubbles: true,
cancelable: true,
});
inputElement.dispatchEvent(changeEvent);
1546 次点击
所在节点    程序员
11 条回复
chenliangngng
2024-05-31 17:06:39 +08:00
直接抓请求吧
4BVL25L90W260T9U
2024-05-31 17:09:10 +08:00
你的了解下啥是 synthetic event
JoryJoestar
2024-05-31 17:11:12 +08:00
它用的这个 contenteditable API ,直接可以在元素上修改文字的。你不想抓请求的话,你获取这个 DOM ,innerText 就行了
Daotin
2024-05-31 17:13:08 +08:00
自己用输入框为啥不行?
JoryJoestar
2024-05-31 17:13:20 +08:00
@JoryJoestar 改是改了,但提交的时候不行,他是输入到它的子元素 span 里面的,你再看看吧
nulIptr
2024-05-31 17:14:06 +08:00
kimi 个人版也有个免费的 api 调用额度。。。不如直接调接口。。。
idealist
2024-05-31 17:15:46 +08:00
document.querySelector('[contenteditable="true"]').innerHTML = '问题 xxxxxxxxxx'
renmu
2024-05-31 17:17:38 +08:00
github 有 kimi api 模拟
ImGroot
2024-05-31 17:20:10 +08:00
看了下 kimi 是用一个 contenteditable 的 div 做了一个输入框, element.value 是 input 元素的属性,要给 div 赋值用 innerText 试试?
Jaeger
2024-05-31 19:23:14 +08:00
@idealist @ImGroot 大佬牛逼,有效果,但目前只成功了一半,我再研究研究,操作之后页面就报错了,无法提交内容
e2k
2024-06-01 15:12:10 +08:00
点击那个盒子形状的图标 可以添加常用预设进去

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1045768

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX