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

使用Selenium向Discord频道发送/richest命令失败求助

解决Discord斜杠命令/richest在Selenium中无法执行的问题

我尝试用Selenium向Discord频道发送/richest斜杠命令,预期触发命令执行并返回结果,但执行代码后,界面始终停留在命令建议选择状态,无法完成命令执行。

我的代码如下:

# Send message
input_box = driver.find_element(By.XPATH, input_box_xpath)
input_box.send_keys('/richest')  #
time.sleep(2)  # Wait for 2 seconds after writing message
input_box.send_keys(Keys.ENTER)
time.sleep(1)  # Wait for 1 second after pressing enter

问题原因

Discord的斜杠命令输入后会弹出命令建议面板,此时单次按下ENTER仅用于选中命令选项,而非直接执行;另外固定时长的time.sleep稳定性不足,可能导致命令建议未加载完成就触发了回车操作,进而卡住。

解决方案

方案1:发送两次回车键

通过两次回车完成“选中命令+执行命令”的流程:

input_box = driver.find_element(By.XPATH, input_box_xpath)
input_box.send_keys('/richest')
time.sleep(2)
# 第一次回车选中命令,第二次回车执行命令
input_box.send_keys(Keys.ENTER)
input_box.send_keys(Keys.ENTER)
time.sleep(1)

方案2:用显式等待替代固定sleep

等待命令建议面板加载完成后再操作,提升稳定性:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

input_box = driver.find_element(By.XPATH, input_box_xpath)
input_box.send_keys('/richest')
# 等待命令建议面板出现(可根据实际页面元素调整定位器)
WebDriverWait(driver, 5).until(
    EC.presence_of_element_located((By.CSS_SELECTOR, ".commandAutocomplete-19mkUa"))
)
input_box.send_keys(Keys.ENTER)
input_box.send_keys(Keys.ENTER)

方案3:用Tab键选中命令后回车

通过TAB快速选中第一个命令建议,再执行:

input_box = driver.find_element(By.XPATH, input_box_xpath)
input_box.send_keys('/richest')
time.sleep(2)
input_box.send_keys(Keys.TAB)
input_box.send_keys(Keys.ENTER)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 09:54:52