在Python中填写Ajax表单

时间:2011-08-03 16:16:34

标签: python ajax mechanize mechanize-python

我正在尝试使用mechanize模块填充ajax框的形式(只是我对这几种形式的术语),但它似乎不起作用。我不是一个网络程序员,但是ajax盒子通过浏览器处理的事件更新了自己'onchange'。

Mechanize似乎没有处理它,在链接列表中(来自迭代器Browser.links)我可以找到一个url'javascript:AjaxRetry();'错误消息msg作为文本告诉我出了问题。

这是我的代码:

import mechanize as m

br = m.Browser()
br.open(url)

br.select_form(nr=0)

# fill in one form (in a real browser, the other form refresh and are not disabled anymore)
br.set_value(code, br.form.controls[10].name)

# how to make it refresh now?
#br.submit() doesn't work (also br.click() does not work (no clickable around at all))

机械化正确的模块来填充那个ajax盒的形式吗?

我无法将链接粘贴到该ajax框所在的页面,因为您必须登录才能看到该框。

1 个答案:

答案 0 :(得分:2)

Mechanize不处理javascript,请参阅此答案以获取更多详细信息和替代解决方案How to properly use mechanize to scrape AJAX sites