我正在尝试使用 mechanize gem 来抓取登录后的页面。然而,对于我正在使用的网站,他们没有在 html 中命名他们的用户名或密码字段。我搜索了 Mechanize 文档,但我无法找到在不使用字段名称的情况下在字段中输入文本的代码。有没有办法找到页面上的第五个元素,或者第一个文本框?
如果您可以自由使用其他宝石,那么为什么不尝试使用Nokogiri Gem。
它非常灵活,您可以使用 css 选择器或使用 XPath 选择器来搜索特定元素。
你可以使用
agent = Mechanize.new
page = agent.get(<yourpage>)
form = page.forms[<index of form>]
form.fields[<index of field>].value = '<your value>' # setting the values
form.fields[<index of field2>].value = '<your value2>'# setting the values
page2 = form.submit # submitting the form