|
// 先置入文本,再模拟输入最后一个字符
(async () => {
// 定位目标输入框
const input = document.querySelector('textarea[data-qa-id="qa-send-message-textarea"]');
if (!input) {
console.error('未找到输入框');
return;
}
// 配置消息内容
const message = '302320213156561564651';
if (message.length < 1) {
console.error('消息内容不能为空');
return;
}
// 分离主体内容和最后一个字符
const mainContent = message.slice(0, -1);
const lastChar = message.slice(-1);
// 基础设置
input.disabled = false;
input.focus();
// 1. 直接置入主体内容
input.value = mainContent;
input.dispatchEvent(new Event('input', { bubbles: true }));
await new Promise(r => setTimeout(r, 50)); // 短暂等待主体内容生效
// 2. 模拟输入最后一个字符(触发完整事件)
document.execCommand('insertText', false, lastChar);
input.dispatchEvent(new Event('input', { bubbles: true }));
await new Promise(r => setTimeout(r, 50));
// 3. 模拟Enter发送
input.dispatchEvent(new KeyboardEvent('keydown', { key: 'Enter', bubbles: true }));
input.dispatchEvent(new KeyboardEvent('keyup', { key: 'Enter', bubbles: true }));
console.log('发送完成');
})();
|
|