首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python机械化:创建并提交表单

python机械化:创建并提交表单
EN

Stack Overflow用户
提问于 2012-05-05 02:53:10
回答 1查看 2.1K关注 0票数 1

我正在把一个网站和机械连接起来。网站使用javascript创建自定义表单,并在创建后提交。我如何使用mechanize来做同样的事情,即:创建一个表单,添加与网站的javascript相同的输入元素,然后提交它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-05 03:51:46

这似乎起作用了:

代码语言:javascript
运行
复制
br.open(URL)
res = mechanize._form.ParseString(FORM_HTML, BASE_URL)
br.form = res[1]
#continue as if the form was on the page and selected with .select_form()
br['username'] = 'foo'
br['password'] = 'bar'
br.submit()

URL是被访问站点的完整URL。BASE_URL是URL所在的目录。FORM_HTML是任何具有form元素的超文本标记语言,例如:

代码语言:javascript
运行
复制
<form method='post' action='/login.aspx'>
    <input type='text' name='username'>
    <input type='text' name='password'>
    <input type='hidden' name='important_js_thing' value='processed_with_python TM'>
</form>

由于某种原因,mechanize._form.ParseString返回两个表单。第一个是没有输入的对基URL的GET请求;第二个是来自FORM_HTML的正确解析的形式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10454555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档