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

你可能有两个问题:

i并且@i不是一回事。我想你可能想i在所有地方使用。i是一个局部变量(即一个简单的普通旧变量)。@i是类的实例变量,类似于其他语言中的“字段”或“属性”。

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

应该是:

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

#{i}将变量的值i放入字符串中,然后水豚匹配器可以找到,例如,元素allocationRegContrib[17].newFundValue(当i=17时)

于 2016-03-17T14:39:58.873 回答