使用Mechanize按标签选择表单字段?

时间:2013-01-29 04:12:34

标签: ruby automation mechanize bots

我最初写了800行来实现这一点,逐站点。然而,在与几个人交谈时,似乎我的代码比它需要的时间更长。

所以,我已经知道你在Python中做了什么,有一个特定的Egg,但我正在使用Ruby。那么,有没有人知道如何在表单字段中输入详细信息,具体取决于标签的内容,而不是id / name?使用Mechanize。

1 个答案:

答案 0 :(得分:2)

让我们说你的HTML看起来像:

<label>Foo</label>
<input name="foo_field">

您可以获取特定标签后面的输入名称:

name = page.at('label[text()="Foo"] ~ *[name]')[:name]
#=> "foo_field"

并使用它来设置表单值

form[name] = 'bar'