我想写个 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);
1 chenliangngng 2024-05-31 17:06:39 +08:00 直接抓请求吧 |
![]() | 2 4BVL25L90W260T9U 2024-05-31 17:09:10 +08:00 你的了解下啥是 synthetic event |
![]() | 3 JoryJoestar 2024-05-31 17:11:12 +08:00 它用的这个 contenteditable API ,直接可以在元素上修改文字的。你不想抓请求的话,你获取这个 DOM ,innerText 就行了 |
![]() | 4 Daotin 2024-05-31 17:13:08 +08:00 自己用输入框为啥不行? |
![]() | 5 JoryJoestar 2024-05-31 17:13:20 +08:00 @JoryJoestar 改是改了,但提交的时候不行,他是输入到它的子元素 span 里面的,你再看看吧 |
6 nulIptr 2024-05-31 17:14:06 +08:00 kimi 个人版也有个免费的 api 调用额度。。。不如直接调接口。。。 |
7 idealist 2024-05-31 17:15:46 +08:00 document.querySelector('[cOntenteditable="true"]').innerHTML = '问题 xxxxxxxxxx' |
8 renmu 2024-05-31 17:17:38 +08:00 via Android github 有 kimi api 模拟 |
![]() | 9 ImGroot 2024-05-31 17:20:10 +08:00 看了下 kimi 是用一个 contenteditable 的 div 做了一个输入框, element.value 是 input 元素的属性,要给 div 赋值用 innerText 试试? |
![]() | 10 Jaeger OP |
11 e2k 2024-06-01 15:12:10 +08:00 点击那个盒子形状的图标 可以添加常用预设进去 |