使用Ruby填写网站上的文本框

时间:2016-06-22 16:59:34

标签: ruby text web-scraping

我想知道是否有一种方法或库可以填写Ruby连接到的网站上的文本框。我正在开发一个网络抓取应用程序,它从网站上提取一个表格...这是我所指的文本框:

The text box

有没有一种简单的方法可以使用这个或我可以使用的库?

(所有不同的数据页都在一个网址中,因此我无法使用不同的网址来执行此操作。)

提前致谢!

2 个答案:

答案 0 :(得分:2)

您应该尝试使用mechanize gem来执行此操作:

require 'mechanize'

agent = Mechanize.new
page  = agent.get('http://google.com/')

form = page.forms.first
form['field_name_1'] = input1
form['field_name_2'] = input2

page = agent.submit(form, form.buttons.first)
puts page

它非常易于使用且非常直观。以下是documentation more examples

或者您可以在您喜欢的浏览器中使用您选择的开发人员工具,在表单提交后记录并检查HTTP请求,然后使用标准HTTP Client向所有站点发送直接请求(表单操作)准备好POST请求数据(而不是感觉形式)。

如果您要废弃大量数据,我建议您使用类似em-http-request的内容来异步执行此操作。

答案 1 :(得分:-1)

您必须使用测试宝石,其中一些填写表格输入。 像"capybara"

一样

文档有点详尽,但它是一个强大的工具