【发布时间】:2015-09-20 00:17:40
【问题描述】:
我正在尝试提交表单,并在提交表单后获取其前往的页面的结果。我正在使用机械化。
1) 当我使用代码单击第一个按钮时,它会得到响应。但是当我阅读响应时,它显示的是同一页面的来源(表单所在的页面)。不是提交表单后浏览器重定向到的页面。
from mechanize import Browser
br = Browser()
br.open("http://link.net/form_page.php")
br.select_form(nr=0)
br.form['number'] = '0123456789'
response = br.submit(nr=0)
print response.read()
现在,当我这样做时,会显示同一页面的来源(即 form_page.php)。但是,它应该显示了“results.php”的来源(这是我手动执行时浏览器指向的地方)
2) 页面中有多个提交按钮。我只点击第一个。但是当我尝试使用 nr=1 或 nr=2 单击其他提交按钮时,它会显示此错误。
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/mechanize /_mechanize.py", line 524, in select_form
raise FormNotFoundError("no form matching "+description)
mechanize._mechanize.FormNotFoundError: no form matching nr 1
你能帮帮我吗?
【问题讨论】:
-
您正在选择 nr=0 的表单。为什么回溯错误返回 nr 1?你用它做了什么?
标签: python forms web-scraping beautifulsoup mechanize