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

如何在Java/Selenium中为WhatsApp消息添加自定义数据

在Java Selenium中实现WhatsApp消息提及与内容分离

不用依赖JavaScript,通过模拟WhatsApp Web原生的交互逻辑就能实现提及功能,核心是触发@选择器并完成联系人选择,以下是具体实现步骤和代码:

  • 步骤1:定位消息输入框
    WhatsApp Web的消息输入框通常是一个contenteditable="true"的div元素,先通过显式等待确保元素加载完成:

    WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
    WebElement inputBox = wait.until(ExpectedConditions.visibilityOfElementLocated(
        By.xpath("//div[@contenteditable='true' and @data-tab='10']")
    ));
    

    注:不同WhatsApp Web版本的data-tab值可能不同,可通过浏览器开发者工具自行确认

  • 步骤2:输入基础消息内容
    先输入不需要提及的普通内容:

    inputBox.sendKeys("大家好,");
    
  • 步骤3:触发并选择提及联系人
    输入@符号唤起联系人下拉列表,输入联系人名称后选择匹配项:

    // 输入@触发提及选择器
    inputBox.sendKeys("@");
    // 等待下拉列表加载
    WebElement contactDropdown = wait.until(ExpectedConditions.visibilityOfElementLocated(
        By.xpath("//div[@role='listbox']//span[@title='张三']")
    ));
    // 选择目标联系人
    contactDropdown.click();
    
  • 步骤4:补充剩余消息内容
    选择完成后,继续输入后续内容,此时提及的联系人会自动和普通内容保持格式分离:

    inputBox.sendKeys(" 请查看最新通知");
    
  • 步骤5:发送消息
    模拟回车发送:

    inputBox.sendKeys(Keys.ENTER);
    

关键注意事项

  • 确保使用显式等待替代Thread.sleep,避免因页面加载延迟导致元素定位失败
  • 联系人的title属性是其在WhatsApp中的昵称,需根据实际情况修改
  • 如果需要提及多个联系人,重复步骤3即可

内容的提问来源于stack exchange,提问作者Unknown

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 11:32:31