2

我需要能够使用我的 Hudson 构建运行我的 Ruby 脚本,但不希望浏览器窗口试图打开。我试过了:

batman:ETW cmiller$ ./createAccount.rb -b

但这没有用。

如何使用 FireWatir 无头运行我的 Ruby 脚本?

在 Mac OS X 上运行

4

4 回答 4

5

我建议使用 PhantomJS ( http://phantomjs.org/download.html ) 将二进制文件添加到您的路径并运行:

    MEDBEDbs-iMac:~ medbedb$ irb
    1.9.3p392 :001 > require 'watir-webdriver'
     => true 
    1.9.3p392 :002 > b = Watir::Browser.new :phantomjs
     => #<Watir::Browser:0x..fe670a70a449fe1ca url="about:blank" title=""> 
    1.9.3p392 :003 > b.goto "www.google.com"
     => "http://www.google.md/" 
    1.9.3p392 :004 > b.url 
     => "http://www.google.md/" 
    1.9.3p392 :005 > b.title
     => "Google"
    1.9.3p392 :007 > b.text
 => "+Вы\nПоиск\nКартинки\nКарты\nPlay\nПочта\nДиск\nКалендарь\nЕщё\nВойти\n×\nОткрывай любимые сайты быстрее\nЗагрузить Google Chrome\n\nМолдoва\n\n \nРасширенный поиск\nЯзыковые инструменты\n\nGoogle.md предлагается на: Moldovenească\n\nРекламные программыВсё о GoogleGoogle.com\n© 2013 - Правила и принципы" 
于 2013-03-18T00:48:46.380 回答
2

看看http://watirmelon.com/tag/headless/。我在适用于我的 Linux 上关注了http://watirwebdriver.com/headless/ 。在上面的链接中,该教程适用于 Mac

这是链接的摘录,如何使用无头浏览器:

  require 'watir-webdriver' 
    require 'headless'

现在开始无头和浏览器

   headless = Headless.new
    headless.start 
    b = Watir::Browser.start 'www.google.com' puts b.title
    b.close headless.destroy

您的浏览器应该无头运行。

于 2012-09-26T09:31:14.993 回答
2

我会考虑使用 Watir-Webdriver 而不是普通的 Watir 或 Fire-watir。特别是因为使用新版本的 firefox 的唯一方法是通过 Watir-Webdriver。

有一个较早的 SO 问题,其中答案仅涵盖这类事情,所以我建议先尝试那里描述的内容。 我可以在没有监视器的情况下使用 Watir 从 linux 服务器上的网站抓取数据吗?

另外,由于我现在知道您使用的是 Mac OS,因此来自 webdriver google 组的此线程中的建议可能更适用于您

于 2011-06-27T21:52:37.530 回答
1

浏览器打开窗口是其正常操作和行为的一部分。

您可以考虑使用Mechanize,它提供了导航站点的能力。它不是一个浏览器,而是在下面使用 Nokogiri 来让您获取 DOM 信息并操作表单、提交它们并检索任何结果页面更改。Mechanize 不支持解析/执行 Javascript,这会让你回到 WATIR 的领域。

于 2011-06-18T20:17:56.367 回答