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

如何用Python Selenium向textarea发文本并按Enter提交?附HTML代码

Python Selenium 操作textarea并按Enter提交表单方案

没问题,针对你给出的HTML结构,我来一步步教你实现这两个操作:

步骤1:定位目标textarea

首先注意到你的form里有两个完全一样的textarea元素,所以咱们得确保定位到正确的那个(通常是第一个可交互的)。推荐用显式等待来定位,避免页面加载不完全导致的元素找不到问题:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys

# 初始化浏览器(这里以Chrome为例)
driver = webdriver.Chrome()
driver.get("你的目标页面URL")

# 显式等待,直到textarea加载完成并可交互
wait = WebDriverWait(driver, 10)
comment_textarea = wait.until(
    EC.element_to_be_clickable((By.CSS_SELECTOR, "form._b6i0l textarea._bilrf"))
)

这里用CSS选择器form._b6i0l textarea._bilrf,结合父级form的class来缩小范围,确保定位到的是目标表单里的textarea。如果第一个不是你要的,也可以用find_elements取第二个:

comment_textareas = wait.until(
    EC.presence_of_all_elements_located((By.CSS_SELECTOR, "form._b6i0l textarea._bilrf"))
)
# 取第二个textarea
comment_textarea = comment_textareas[1]

步骤2:向textarea输入文本

定位到元素后,直接用send_keys()方法输入内容:

# 输入你要添加的评论内容
comment_textarea.send_keys("这是我用Selenium提交的评论!")

步骤3:按Enter键提交表单

接下来模拟按下Enter键提交,直接在textarea元素上调用send_keys(Keys.ENTER)即可:

# 按下Enter键提交
comment_textarea.send_keys(Keys.ENTER)

完整代码示例

把上面的步骤整合起来,完整代码如下:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys

# 初始化浏览器
driver = webdriver.Chrome()
try:
    driver.get("你的目标页面URL")
    
    # 等待并定位textarea
    wait = WebDriverWait(driver, 10)
    comment_textarea = wait.until(
        EC.element_to_be_clickable((By.CSS_SELECTOR, "form._b6i0l textarea._bilrf"))
    )
    
    # 输入文本
    comment_textarea.send_keys("这是我用Selenium提交的评论!")
    
    # 按Enter提交
    comment_textarea.send_keys(Keys.ENTER)
finally:
    # 操作完成后关闭浏览器(可选,根据你的需求调整)
    driver.quit()

注意事项

  • 如果页面有弹窗或者其他干扰元素,可能需要先处理掉,确保textarea能正常交互;
  • 要是遇到textarea无法输入的情况,可以先尝试点击一下textarea再输入:comment_textarea.click();
  • 显式等待的超时时间(这里是10秒)可以根据你的页面加载速度调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:00:56