如何使用我的Ruby脚本运行Firefox浏览器?

时间:2011-06-18 20:06:49

标签: firefox watir firewatir watir-webdriver headless-browser

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

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

但这不起作用。

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

在Mac OSX上运行

4 个答案:

答案 0 :(得分: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 - Правила и принципы" 

答案 1 :(得分:2)

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

有一个早期的SO问题,答案只涵盖了这类事情,所以我建议先尝试那里描述的内容。 Can I use Watir to scrape data from a website on a linux server without monitor?

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

答案 2 :(得分: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

您的浏览器应该无头。

答案 3 :(得分:1)

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

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