2

HudsonビルドでRubyスクリプトを実行できる必要がありますが、ブラウザウィンドウを開こうとしないでください。私は試した:

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

しかし、これは機能しませんでした。

FireWatirヘッドレスを使用してRubyスクリプトを実行するにはどうすればよいですか?

MacOSXで実行

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

単なるWatirやFire-watirの代わりに、Watir-Webdriverを使用することを検討します。特に、Firefoxの新しいバージョンを操作する唯一の方法は、Watir-Webdriverを使用することになるためです。

以前のSOの質問では、答えはこの種のことだけをカバーしているので、最初にそこで説明されていることを試してみることをお勧めします。 Watirを使用して、モニターなしでLinuxサーバー上のWebサイトからデータを取得できますか?

また、Mac OSを使用していることがわかったので、webdrivergoogleグループからのこのスレッドのアドバイスがより適切である可能性があります。

于 2011-06-27T21:52:37.530 に答える
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 に答える
1

ブラウザは、通常の操作と動作の一部としてウィンドウを開いています。

サイトをナビゲートする機能を提供するMechanizeの使用を検討できます。これはブラウザではありませんが、下にあるNokogiriを使用して、DOM情報を取得し、フォームを操作して送信し、結果として生じるページの変更を取得できるようにします。MechanizeはJavascriptの解析/実行をサポートしていません。これにより、WATIRの領域に戻ることができます。

于 2011-06-18T20:17:56.367 に答える