在Mechanize中获取br.forms()的键和值

2024-10-02 00:23:52 发布

您现在位置:Python中文网/ 问答频道 /正文

使用Mechanize,我可以获得页面的所有表单。在

for f in br.forms():
    print f

对于我的页面,它提供了如下信息:

^{pr2}$

但是,我只想打印出f变量中的值,比如只打印TITLESUBJ和{}

ECEC 451 Computer Arithmetic

我试过使用f.valuef.valuef['TITLE'],但没有运气。在

我以前也有过这样的工作,但是当我删除了那个注释以将代码提交到版本控制时,我丢失了代码


Tags: 代码inbr信息表单fortitlevalue
1条回答
网友
1楼 · 发布于 2024-10-02 00:23:52

如果您只需要一个特定的值并且知道键:

In [18]: response = br.open("http://www.w3schools.com/html/html_forms.asp")

In [19]: f = list(br.forms())

In [20]: f[0].get_value("firstname")
Out[20]: 'Mickey'
In [21]: f[0].get_value("lastname")
Out[21]: 'Mouse'

您可以使用f._pairs()访问所有对:

^{pr2}$

您可以看到它为您提供键、值对:

<GET http://www.w3schools.com/html/action_page.php application/x-www-form-urlencoded
  <TextControl(firstname=Mickey)>
  <TextControl(lastname=Mouse)>
  <SubmitControl(<None>=Submit) (readonly)>>
[('firstname', 'Mickey'), ('lastname', 'Mouse')]
<GET http://www.w3schools.com/html/action_page.php application/x-www-form-urlencoded
  <TextControl(firstname=Mickey)>
  <TextControl(lastname=Mouse)>
  <SubmitControl(<None>=Submit) (readonly)>>
[('firstname', 'Mickey'), ('lastname', 'Mouse')]
<GET http://www.w3schools.com/html/html_forms.asp application/x-www-form-urlencoded
  <TextControl(err_email=)>
  <TextControl(err_url=) (disabled)>
  <TextareaControl(err_desc=)>
  <IgnoreControl(<None>=<None>)>>
[('err_email', ''), ('err_desc', '')]

相关问题 更多 >

    热门问题