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

使用Python3.8+Chrome的Selenium无法在WhatsApp Web输入消息求助

解决WhatsApp Web Selenium脚本无法输入内容的问题

看来你的脚本已经能成功导航到目标聊天窗口,但输入框交互出了问题——别担心,这种情况大多是元素定位失效或者浏览器驱动兼容问题导致的,咱们一步步来解决:

1. 替换输入框的定位器(核心问题)

WhatsApp Web的前端元素类名会频繁更新,你用的_3u328这个类名大概率已经失效了。推荐用更稳定的属性来定位输入框,比如基于contenteditable和data-tab属性的XPath:

# 替换原来的inp_xpath
inp_xpath = '//div[@contenteditable="true" and @data-tab="1"]'
input_box = wait.until(EC.presence_of_element_located((By.XPATH, inp_xpath)))

或者用CSS选择器,稳定性同样不错:

inp_css = 'div[contenteditable="true"][data-tab="1"]'
input_box = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, inp_css)))

2. 确保输入框获得焦点

有时候聊天窗口打开后,输入框并没有自动获得焦点,导致send_keys无效。可以在输入前先点击输入框激活它:

input_box.click()  # 先激活输入框
for i in range(100):
    input_box.send_keys(string + Keys.ENTER)
    time.sleep(1)

3. 检查ChromeDriver与Chrome版本兼容性

这是很多Selenium新手容易忽略的点:ChromeDriver的版本必须和你本地安装的Chrome浏览器版本完全匹配(主版本号一致即可)。如果版本不匹配,会出现各种元素交互异常。

你可以:

  • 打开Chrome,点击设置→关于Chrome查看浏览器版本
  • 下载对应版本的ChromeDriver替换脚本中指定的路径

4. 忽略WMI错误日志

你看到的[13920:4684:0130/154024.795:ERROR:wmi_refresher.cc(129)]这个错误,是Chrome浏览器的内部日志,和你的脚本功能完全无关,不会影响输入逻辑。如果觉得日志烦,可以在ChromeOptions里添加参数屏蔽:

chrome_options.add_argument('--log-level=3')  # 只显示严重错误日志

把这些修改整合到你的脚本里,应该就能正常输入内容了。

内容的提问来源于stack exchange,提问作者J. Lobo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 12:38:11