[英]Python // Mechanize // Can't find form
我正在使用Mechanize查找并提交表单。 代码如下所示:
url = "THIS_IS_A_LINK"
br = mechanize.Browser()
br.set_handle_robots(False)
br.addheaders=[('User-agent','chrome')]
br.open(url)
htmltext = br.open(url).read()
print htmltext
br.select_form(name="genericsearch_param.fulltext")
br["q"] = "metal"
res = br.submit()
content = res.read()
with open("mechanize_results.html", "w") as f:
f.write(content)
HTML看起来像这样:
<form method="get" action="/WHAT_SO_EVER" accept-charset="utf-8" class="clearfix" style="display: inline;"><input type="hidden" name="session.sessionid" value="sdfosdfosdf3482374892hsdfanw9023qjh"><input type="hidden" name="global_data.designmode" value="xf"><div class="clearfix">
<div class="left"><label for="genericsearch_param.fulltext">Searchterm</label><input type="text" class="text" id="genericsearch_param.fulltext" name="genericsearch_param.fulltext" value=""></div> <div class="right"><label for="genericsearch_param.part_id">Searcharea</label><select id="genericsearch_param.part_id" name="genericsearch_param.part_id">
我不想使用Selenium,因为它会在大多数浏览器打开和关闭中使用。 为什么机械化找不到表格?
只需在p上选择第一个表格
br.select_form(nr=0)
并且您确定“提交”按钮有效吗?:
submit_response = br.submit(name='action')
或submit_response = br.submit(label='action')
您尝试选择哪种形式可能会造成混淆。
非常感谢你。 是的,以上内容仅适用于其中一种形式的网站。 然后,当然,第一个也是唯一的一个。 查找我使用的表格
br.select_form(nr=0)
for f in br.forms():
print f
带给我标签。 再次尝试并学习有关stackoverflow的丰富经验!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.