python机械化FormNotFoundError

python机械化FormNotFoundError,python,forms,mechanize,Python,Forms,Mechanize,我正在进行mechanize以获取表单元素 import mechanize br = mechanize.Browser() br.set_handle_robots(False) br.open("http://www.bnm.gov.my/index.php?ch=12&pg=622") br.select_form(name="Rates") 但这是一个错误: FormNotFoundError: no form matching name 'Rates' 即使有 <f

我正在进行mechanize以获取表单元素

import mechanize
br = mechanize.Browser()
br.set_handle_robots(False)
br.open("http://www.bnm.gov.my/index.php?ch=12&pg=622")
br.select_form(name="Rates")
但这是一个错误:

FormNotFoundError: no form matching name 'Rates'
即使有

<form onsubmit="return validate();" method="get" action="index.php" name="Rates">

有人能帮忙吗


提前感谢

尝试使用nr参数选择表单:

select_form(self, name=None, predicate=None, nr=None)
我猜这个页面只有一个表单,所以试试nr=0


如果页面中没有表单,则可能意味着它是使用Javascript添加的。在这种情况下,机械化是不够的。您必须使用Selenium或Spynner。

页面上似乎有几个元素的名称和/或id为“rates”。这可能是个问题。机械化似乎看不到任何形式
[i.name for i in br.forms()]
返回一个空列表。其中有一条注释可以解释此行为。使用
wget
检索页面也不会生成该表单。