1

Ruby プログラムを共有する方法に取り組んでいます。これは私のテストコードです。

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

@browsertype =""
@name =""
@champsname = ""
@date = DateTime.now

file = File.exists?("temp.txt")
if file == true
   input = IO.read("temp.txt")
   input_hash = Hash[*input.gsub(/"/,"").split(/\s*[\n=]\s*/)]
     browsertype = input_hash.shift
     name  = input_hash.shift
     champsname  = input_hash.shift


  @browsertype = browsertype[1]
  @name  = name[1]
  @champ = champsname[1]

end
if file == false
f = File.new("temp.txt", "w")

  # processing
    puts "What browser will you be using? "
      browsertype = gets
      f.write("browser = :")
      f.write(@browsertype)
    puts  "What is your name? "
     name = gets
       f.write("name = ")
       f.write(@name)
     puts "what is your champs name"
      champsname = gets
       f.write("champion = ")
       f.write(@champsname)


     @browsertype = browsertype
     @name  = name
     @champ = champsname

   end
     puts @browsertype
     puts @name
     puts @champ
     puts @date

#@b = "Watir::Browser.new :"+@browsertype

 agent = Watir::Browser.new
 @b = agent+@browsertype

#b = @b

#b.goto 'https://docs.google.com/spreadsheet/ccc?key=0AncPM9_7wL02dHVaSWg5eklfYW5jdTE3NGtJSGJPb3c'

私はこの質問を、ファイルから var を作成するためのリファレンスとして使用し、変数の魔法を作成し、ファイルから読み取りましたRuby アプリから Windows 実行可能ファイルをビルドしますか? . 私が遭遇した問題は、使用時に Watir がデフォルトで Firefox を実行することです。

agent = Watir::Browser.new

しかし、誰もが Firefox を使用しているわけではないので、ファイルに browsertype を作成したのはそのためです。しかし、私が使用するとき

@b = "Watir::Browser.new :"+@browsertype

が無効であるというエラーが表示+stringされ、シンボルについても同じエラーが表示されます。ユーザー定義のブラウザ タイプを使用する方法について何か提案はありますか?

4

2 に答える 2

1

ブラウザの種類をブラウザの初期化に渡す必要があります。

@b = Watir::Browser.new @browsertype

@browsertypeこれは、がのようなものであることを前提としてい'firefox'ます。

于 2013-02-11T17:08:37.057 に答える
0

Watir は、ブラウザ タイプの :chrome などの小さな特定の「シンボル」セットを受け入れます。ユーザーからの入力を受け入れる場合、case ステートメントを使用して、入力に基づいて特定のシンボル (:firefox、:chrome など) を含む変数を設定し、値を入力しない場合はユーザーにフィードバックを提供します。それはあなたが予想したものと一致します。

または、文字列で .to_sym を使用してシンボルにキャストすることもできます..そう

@browser_type = "chrome"
@b = Watir::Browser.new @browser_type.to_sym
于 2016-08-18T23:08:55.123 に答える