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

如何用Python Mechanize提交keywordsheeter.com的textarea并获取结果?

解决方法

你的核心问题是**select_form参数使用错误**:findersearchQueryInput是textarea控件的name,而非表单的name/id。需要先选中包含该控件的表单,再操作目标控件。

修正后的代码

import mechanize

br = mechanize.Browser()
br.set_handle_robots(False)
br.addheaders = [('User-agent',
                  'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]
br.open("https://keywordsheeter.com/")

print(br.title())

# 遍历表单,定位包含目标控件的表单
for form in br.forms():
    if any(control.name == 'findersearchQueryInput' for control in form.controls):
        br.select_form(form=form)
        break

# 给textarea设置内容
br['findersearchQueryInput'] = 'keto diet'

# 提交表单并获取响应
response = br.submit()

# 打印结果到控制台
print(response.read().decode('utf-8'))

关键修正说明

  • 替换错误的表单选择逻辑:遍历所有表单,找到包含findersearchQueryInput控件的表单并选中
  • 修正控件赋值语法:直接通过控件name赋值,无需数组格式
  • 提交后通过response.read()获取页面内容并打印

注意:若该网站依赖JavaScript处理表单提交,mechanize可能无法正常工作(它不支持JS解析),这种情况下需改用Selenium等支持JS的自动化工具。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 03:22:47