3

我正在使用机械化来自动化一些表单提交。

为此,我需要转到某个网站的主页,单击带有特定文本的链接,该链接会将我重定向到另一个页面并在新页面中填写表格。

我尝试使用

  response = br.follow_link(text_regex="sometext")

  for f in response.forms()
      print f.name

我收到的错误消息是 AttributeError: closeable_response instance has no attribute 'forms'

当我尝试

for f in br.forms()
    print f.name

它打印主页中的表单名称,而不是我重定向到的新页面。

如何在新页面中找到表格的名称?

“响应”包含什么?

click_link() 和 follow_link() 有什么区别。机械化文档没有清楚地解释这一点。

谢谢

4

1 回答 1

1

关于 click_link() 和 follow_link() 的区别:

这两种方法都采用相同的关键字作为参数。

  • click_link() 是一个方法,它将返回一个 Request 对象,然后可用于创建请求:

    req = br.click_link(text='Sample Text')
    br.open(req)
    
  • follow_link() 将执行与 .open() 相同的操作,直接打开链接。

此信息取自以下文档:http: //joesourcecode.com/Documentation/mechanize0.2.5/mechanize._mechanize.Browser-class.html#click_link

在 wwwsearch 给出的示例中可以观察到 Follow_link() 行为: http ://wwwsearch.sourceforge.net/mechanize/

于 2014-11-09T21:19:00.637 回答