0

以下は私のコードです。Excelシートからページのテキストボックスに値を入力しようとしています。例: テキスト ボックスの ID が 'allocationRegContrib[17].newFundValue' の場合、20 という値を入力します。同様に、ID が 'allocationRegContrib[18].newFundValue' の別のテキスト ボックスについても、40 という値を入力します。達成する方法。同様に、IDは60まで続きます。しかし、すべてのテキストボックスに入力したくありません。そこで、fill_in "allocationRegContrib[i].newFundValue" のように使用しようとしています。

     @i=17
    for j in (workbook.first_row..workbook.last_row)

     for k in (workbook.first_column..workbook.last_column)

      if(k==1)
    fill_in "searchInput", :with => workbook.cell(j,1)
    find(:xpath, '//*[@id="sdcaLink"]').click
    sleep 3


    else
    choose("sdcaOption", :option => "YES")
    select(workbook.cell(j,k), :from => 'sdcaDuration')
    fill_in "allocationRegContrib[i].newFundValue", :with => workbook.cell(j,k)
    @i=i+1
    find(:xpath, '//*[@id="specialDCAupdate"]').click

しかし、それは私にはうまくいきません。エラーは「カピバラ要素のallocationRegContrib[i].newFundValueが見つかりません」です。ご意見をお聞かせください

4

1 に答える 1

0

次の 2 つの問題が発生する可能性があります。

i同じものではあり@iません。いろいろなところで使いたいと思いますiiローカル変数 (つまり、単純な単純な古い変数) です。@i他の言語の「フィールド」や「プロパティ」のような、クラスのインスタンス変数です。

fill_in "allocationRegContrib[i].newFundValue", :with => workbook.cell(j,k)

おそらく次のようになります。

fill_in "allocationRegContrib[#{i}].newFundValue", :with => workbook.cell(j,k)

#{i}変数の値を文字列に入れると、カピバラマッチャーは要素(i=17 の場合)iなどを見つけることができます。allocationRegContrib[17].newFundValue

于 2016-03-17T14:39:58.873 に答える