我需要能够使用我的Hudson构建运行我的Ruby脚本,但不希望尝试打开浏览器窗口。 我试过了:
batman:ETW cmiller$ ./createAccount.rb -b
但这不起作用。
如何使用FireWatir无头运行我的Ruby脚本?
在Mac OSX上运行
答案 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的领域。