python - 将 Python 和 Mechanize 与 ASP 表单结合使用

标签 python asp-classic mechanize

我试图在 .asp 页面上提交表单,但 Mechanize 无法识别控件的名称。表单代码为:

<form id="form1" name="frmSearchQuick" method="post">
....
<input type="button" name="btSearchTop" value="SEARCH" class="buttonctl" onClick="uf_Browse('dledir_search_quick.asp');" >

我的代码如下:

br = mechanize.Browser()
br.open(BASE_URL)
br.select_form(name='frmSearchQuick')
resp = br.click(name='btSearchTop')

我也试过最后一行:

resp = br.submit(name='btSearchTop')

我得到的错误是:

raise ControlNotFoundError("no control matching "+description) ControlNotFoundError: no control matching name 'btSearchTop', kind 'clickable'

如果我打印 br 我得到这个:IgnoreControl(btSearchTop=)

但我在 HTML 中的任何地方都看不到它。

关于如何提交此表单有什么建议吗?

最佳答案

按钮不提交表单 - 它调用一些 javascript 函数。

Mechanize 无法运行 javascript,因此您无法使用它来单击该按钮。

最简单的方法是自己阅读该函数,看看它做了什么 - 如果它只是提交表单,那么也许您可以通过提交表单而不单击任何内容来绕过它。

关于python - 将 Python 和 Mechanize 与 ASP 表单结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2679595/

相关文章:

google-app-engine - GAE 接受斜纹吗?

ruby-on-rails - ruby : Mechanize cannot find any content from the site what i want to check

ruby - mechanize 是 Ruby 中最流行的自动化网站交互库之一吗?

python - 将多个值列表映射到 python 字典中的键列表?

database - 如何在 vbscript 中将记录集放入二维数组中?

javascript - 日历控件无法在 IE 9 上加载 - ASP

asp.net - 将 ASP 包含添加到 HTML 中

python - 属性错误: 'KeyedVectors' object has no attribute 'get_keras_embedding'

python - 如何修复 Statsmodel 警告 : "Maximum no. of iterations has exceeded"

python - 使用大型旧版 MySQL 数据库时,我可以在多大程度上依赖 django 的spectrdb 命令?