NI机械化提交NIH网站上的按钮

时间:2013-04-23 19:12:56

标签: python button submit mechanize

我在python 2.7.3上使用mechanize。我正在寻找有关点击NIH's gene website上的提交按钮的帮助。

按钮是一个实际的按钮元素,由div包围,不在任何表单字段中。

<button id="search" type="submit" class="button_search nowrap" cmd="go">Search</button>

到目前为止,在示例和我在网上看到的内容,提交按钮通常都有一个机械可以选择的名称或标签,或者是一种形式,所以我可以做br.submit()。

我如何点击这个提交?

由于

1 个答案:

答案 0 :(得分:2)

该按钮不直接提交for,而是触发JavascriptEvent,最终会加载搜索页面。这解释了为什么按钮在您的浏览器中工作,即使它不在表单内。

mechanize无法运行JS代码,因此您无法使用mechanize直接“点击”该按钮。

您是否有理由不能只打开目标网址?即使在高级搜索表单上,这些看起来也非常简单,例如:

term = '("31"[Chromosome]) AND "000"[Disease/Phenotype]'
q = urllib.urlencode({'term': term})
response = mechanize.urlopen('http://www.ncbi.nlm.nih.gov/gene?%s' % q)

如果这对您不起作用,您将不得不依赖于支持JavaScript的解决方案,请参阅https://stackoverflow.com/questions/606550/watir-vs-selenium-vs-sahi以获取指示。