2

私は単純な ruby​​+watir-webdriver の例を持っています:

#!/usr/bin/env ruby

require "rubygems"
require 'watir-webdriver'

browser = Watir::Browser.new
...
# do something
...
browser.close

このファイルを手動で実行すると:

/path/to/my/ruby/example.rb

それは正常に動作します。これをcronjobに入れると、うまくいきません...cronjobをに変更しました

ruby /path/to/my/ruby/example.rb

しかし、再び機能しませんでした。問題を特定する方法はありますか?

@ケビンここに出力:

/home/lks/.rvm/gems/ruby-1.9.3-p194/gems/selenium-webdriver-2.21.2/lib/selenium/webdriver/firefox/launcher.rb:77:in `connect_until_stable': unable to obtain stable firefox connection in 60 seconds (127.0.0.1:7055) (Selenium::WebDriver::Error::WebDriverError)
        from /home/lks/.rvm/gems/ruby-1.9.3-p194/gems/selenium-webdriver-2.21.2/lib/selenium/webdriver/firefox/launcher.rb:37:in `block in launch'
        from /home/lks/.rvm/gems/ruby-1.9.3-p194/gems/selenium-webdriver-2.21.2/lib/selenium/webdriver/firefox/socket_lock.rb:20:in `locked'
        from /home/lks/.rvm/gems/ruby-1.9.3-p194/gems/selenium-webdriver-2.21.2/lib/selenium/webdriver/firefox/launcher.rb:32:in `launch'
        from /home/lks/.rvm/gems/ruby-1.9.3-p194/gems/selenium-webdriver-2.21.2/lib/selenium/webdriver/firefox/bridge.rb:19:in `initialize'
        from /home/lks/.rvm/gems/ruby-1.9.3-p194/gems/selenium-webdriver-2.21.2/lib/selenium/webdriver/common/driver.rb:31:in `new'
        from /home/lks/.rvm/gems/ruby-1.9.3-p194/gems/selenium-webdriver-2.21.2/lib/selenium/webdriver/common/driver.rb:31:in `for'
        from /home/lks/.rvm/gems/ruby-1.9.3-p194/gems/selenium-webdriver-2.21.2/lib/selenium/webdriver.rb:63:in `for'
        from /home/lks/.rvm/gems/ruby-1.9.3-p194/gems/watir-webdriver-0.6.1/lib/watir-webdriver/browser.rb:35:in `initialize'
4

2 に答える 2

3

私は解決策を見つけました - 私はブラウザをヘッドレスモードで起動する必要があります。ここで私の作業例:

#!/usr/bin/env ruby

require 'rubygems'
require 'watir-webdriver'
require 'headless'

headless = Headless.new
headless.start
browser = Watir::Browser.start 'http://www.url.com'
...
# do something
...
browser.close
headless.destroy

ソース: http://watirwebdriver.com/headless/

助けてくれてありがとう!

于 2012-05-30T17:13:46.797 に答える