Python//Mechanize//找不到表格

标签 python html forms mechanize

我正在使用 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,因为它需要大量的浏览器打开和关闭。为什么 Mechanize 找不到表格?

最佳答案

只需选择p上的第一个表单

br.select_form(nr=0)

你确定提交按钮有效吗?:

submit_response = br.submit(name='action')submit_response = br.submit(label='action')

您可能会混淆您要选择的表单。

关于Python//Mechanize//找不到表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31079673/

相关文章:

python - 按索引值将 pandas Series 拆分为连续的 block

javascript - 在选择标签中更改时获取所选值

javascript - 如何使用纯 JavaScript 让我的视频在悬停在视频上时播放

php - 为什么这个 jQuery 函数无法与我的 php 文件正确通信?

forms - Angular2 响应式(Reactive)表格

python - 如何聚合集合的列?

python - 无法打开包含文件 : 'mysql.h' : No such file or directory

json - 如何强制 AngularJS 序列化空表单字段

python - 在 Maya 2017 中使用 PyMel 获取矩阵的逆

c# - asp.net MVC 4 应用程序中的单独登录