私はRubyを初めて使用するので、これは本当にばかげた質問かもしれません。ただし、このコードは既存のRubyインストールPCで機能します。
def usr_OpenURL(strURL, strBrowserType)
if strBrowserType == "IE"
# Open Browser at the specified URL and Maximise
browser = Watir::Browser.start(strURL)
browser.waitForIE
browser.bring_to_front
browser.maximize
sleep($nSleepTime)
elsif strBrowserType == "Chrome"
browser = Watir::Browser.new :chrome
browser.goto strURL
sleep($nSleepTime)
else
puts "No Known Browser is Declared"
end
return browser
end
ただし、同じバージョンのRubyをPCにインストールしてコードを実行すると、エラーが返されます。
undefined method 'start' for Watir::Browser:Class (NoMethodError).
そこで、irbを使って少し遊んでみました。
私が行った場合:
require "Watir"
browser = Watir::Browser.start("http://www.google.com")
エラーが発生しますが、発生した場合:
require "Watir"
browser = Watir::Browser.new
browser = Watir::Browser.start("http://www.google.com")
その後、大丈夫です。期待どおり、そのURLで新しいブラウザウィンドウが開きます。
PCを比較すると、さまざまなバージョンのwatirが表示され、watir-webdriver gemがインストールされているので、バージョン間で何かが変更されたかどうかはわかりません。
このルビーコードを書いた人はもうここにいないので、なぜ彼らが.newとGotoforIEをやっていないのか尋ねることはできません。
任意のアイデアをいただければ幸いです:)ありがとう!
更新:これはwatir-classic3.2.0gemで見つかりました。多分それが原因だと思います。
Watir :: Browserは、モジュールではなくクラスになりました。モンキーパッチを適用している場合は注意してください。