我需要能夠運行我的Hudson構建我的Ruby腳本,但不希望瀏覽器窗口試圖打開。 我試過了:如何用我的Ruby腳本運行Firefox瀏覽器?
batman:ETW cmiller$ ./createAccount.rb -b
但是這並沒有奏效。
如何使用FireWatir無頭運行我的Ruby腳本?
在Mac OSX上運行
我需要能夠運行我的Hudson構建我的Ruby腳本,但不希望瀏覽器窗口試圖打開。 我試過了:如何用我的Ruby腳本運行Firefox瀏覽器?
batman:ETW cmiller$ ./createAccount.rb -b
但是這並沒有奏效。
如何使用FireWatir無頭運行我的Ruby腳本?
在Mac OSX上運行
我會看看使用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,在this thread從谷歌的webdriver組的建議可能更適用於你
瀏覽器打開窗口作爲其正常操作和行爲的一部分。
你可以看看使用Mechanize,它提供了導航網站的能力。它不是瀏覽器,而是使用下面的Nokogiri來讓你獲取DOM信息並操作表單,提交它們,並檢索任何結果頁面的變化。 Mechanize不支持解析/執行Javascript,這會讓你回到WATIR的領域。
看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
您的瀏覽器應該運行無頭。
您能否詳細說明這些鏈接的關鍵內容? (如果他們將來停止工作) –
Headless不會在windows中工作。改用phantomjs。 – stack1
我建議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 - Правила и принципы"
如何關閉幻像js的日誌信息,例如INFO,WARNING等? – stack1
告訴我們您的命令行不告訴我們什麼有用的東西,而不實際的源代碼正在運行。 –
儘管這裏的源代碼並不是相關的,但是命令行向我展示了運行-b,它運行瀏覽器時無頭,但在firewatir中不起作用。 –
刪除了ruby,轉而使用標籤中的watir-webdriver。您沒有提及CI在運行的操作系統,這可能是答案的一個因素。 –