首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Whatsapp Web上填充消息框?

如何在Whatsapp Web上填充消息框?
EN

Stack Overflow用户
提问于 2022-07-18 16:57:01
回答 1查看 162关注 0票数 0

为了学习目的,我试图在Whatsapp (https://web.whatsapp.com/)上发送一条信息,只使用Javascript。

下面是具有消息框的DIV:

代码语言:javascript
运行
复制
<div class="fd365im1 to2l77zo bbv8nyr4 mwp4sxku gfz4du6o ag5g9lrv" contenteditable="true" role="textbox" spellcheck="true" title="Type a message" data-tab="10" data-lexical-editor="true" style="user-select: text; white-space: pre-wrap; word-break: break-word;"><p class="selectable-text copyable-text"><br></p></div>

这是我的密码:

代码语言:javascript
运行
复制
document.getElementsByClassName('fd365im1 to2l77zo bbv8nyr4 mwp4sxku gfz4du6o ag5g9lrv')[0].innerText = 'My message content';

代码运行时没有错误,但是消息字段没有填充,接口上什么也没有发生。这段代码以前经常运行,但现在不再运行了。

我错过了什么?您可以尝试访问whatsapp并使用Chrome。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-18 23:28:03

您可以使用

最新情况*

代码语言:javascript
运行
复制
// wait until paste all text
function waitForPastedData(elem, old) {
  if (elem.childNodes && elem.childNodes.length == old) {
    return true
  }
  else {
      old = elem.childNodes.length
      return new Promise((resolve, reject) => {
     setTimeout(() => {
       resolve(waitForPastedData(elem, old));
     }, 2000);
   });
  }
}
async function send_text(text) {
    const dataTransfer = new DataTransfer();
    dataTransfer.setData('text', text);
    const event = new ClipboardEvent('paste', {
          clipboardData: dataTransfer,
          bubbles: true
        });
    let el = document.querySelector('#main .copyable-area [contenteditable="true"][role="textbox"]')
    el.focus()
// select old text and replace with new
    document.execCommand("selectall");
    el.dispatchEvent(event)
    return await waitForPastedData(el, 0)
}
await send_text('yourtext')
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73025962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档