Ruby 在没有实际浏览器窗口的情况下自动化浏览器?

Ruby 在没有实际浏览器窗口的情况下自动化浏览器?,ruby,capybara,mechanize,watir,Ruby,Capybara,Mechanize,Watir,我需要做一个自动脚本,填充两个文本字段,单击网页上的按钮,并将所有生成的文本存储到字符串变量中 我知道如何使用Watir执行此操作,但问题是此脚本将在Windows服务器上运行(没有连接物理监视器) 因此,这需要某种没有实际浏览器窗口的“模拟浏览器”。。。我以前从未做过类似的事情,但在谷歌搜索之后,我认为Ruby gems“机械化”或“水豚”可能能够做到这一点 但因为我对水豚或mehcanize都没有任何经验,我在这里请求一些帮助 以下是我试图做的,用Watir代码编写。如果有人能告诉我如何用“

我需要做一个自动脚本,填充两个文本字段,单击网页上的按钮,并将所有生成的文本存储到字符串变量中

我知道如何使用Watir执行此操作,但问题是此脚本将在Windows服务器上运行(没有连接物理监视器)

因此,这需要某种没有实际浏览器窗口的“模拟浏览器”。。。我以前从未做过类似的事情,但在谷歌搜索之后,我认为Ruby gems“机械化”或“水豚”可能能够做到这一点

但因为我对水豚或mehcanize都没有任何经验,我在这里请求一些帮助

以下是我试图做的,用Watir代码编写。如果有人能告诉我如何用“机械化”或“水豚”做同样的事情,我将不胜感激。或者,如果有其他方法,欢迎所有建议:

require "watir"
ie = Watir::Browser.new
ie.goto "http://www.vero.fi/vere/Tarkistus/VeronumeronTarkistus.aspx/"
ie.text_field(:id, "tbNimi").set "John Smith"
ie.text_field(:id, "tbVerotunnus").set "123456789012"
ie.button(:id, "btnHae").click
info = ie.text
你也可以使用。它使用Watir API驱动无头浏览器。

我使用它(使用Capybara驱动程序)。它运行一个无头WebKit(Safari和Chrome的浏览器引擎),水豚告诉它该怎么做。这是我发现的实现这个概念的最简单的方法

代码将类似于:

visit "http://www.vero.fi/vere/Tarkistus/VeronumeronTarkistus.aspx/"
fill_in "tbNimi", :with => "John Smith"
fill_in "tbVerotunnus", :with => "123456789012"
click_on "btnHae"
info = page.html

能否Selenium帮助运行Selenium服务器并在headless状态下运行Firefox

我基本上已经在这本书上写了一篇文章


希望获得此帮助

为什么“未连接显示器”意味着您不能使用浏览器驱动程序?在持续集成环境中运行这样的测试是很常见的(例如,在无头服务器上)。现在我想起来了,这真的应该是可能的(普通的Windows计算机不需要物理监视器来运行任何应用程序…)服务器维护人员(不是我)刚刚说,“没有桌面,因此任何窗口应用程序都无法工作"... 也许他错了,我必须和他多讨论这件事……正是我所想的!如果你有一个可行的解决方案,那么如果可能的话,你也可以使用它。我已经在基于Windows的连续集成服务器上用浏览器做了很多测试,这些服务器在没有桌面的情况下运行,这当然是可能的。谢谢!我不能用熟悉的Watir语法来做这件事(将来可能也有用)。(我以前听过“快速”这个词,但我不知道它是什么…)