【问题标题】:Choosing form fields by label using Mechanize?使用机械化按标签选择表单字段?
【发布时间】:2013-01-12 14:07:01
【问题描述】:

我最初写了 800 行来做到这一点,一个站点一个站点。但是,在与几个人交谈时,我的代码似乎比它需要的要长。

所以,我知道你会在 Python 中使用特定的 Egg 做什么,但我正在使用 Ruby。那么,有没有人知道如何根据标签而不是 id/name 在表单字段中输入详细信息?使用机械化。

【问题讨论】:

  • 添加特定站点的代码;或者至少包括一个示例站点,以便通过代码示例轻松引导您朝着正确的方向前进。 Mechanize 确实具有填写表单字段的能力。有关示例,请参阅 mechanize.rubyforge.org/EXAMPLES_rdoc.html
  • 现在知道了,但是没有机械化经验的人很难做到(只有 Watir,这对我想做的事情没有用处)

标签: ruby automation mechanize bots


【解决方案1】:

假设您的 html 看起来像:

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

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

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

并使用它来设置表单值

form[name] = 'bar'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-13
    • 1970-01-01
    • 2012-04-10
    • 1970-01-01
    相关资源
    最近更新 更多