【问题标题】:while loop not stoppingwhile循环没有停止
【发布时间】:2012-11-05 14:41:02
【问题描述】:

我正在尝试填充文本字段,但我的 while 循环无法正常工作,它卡在循环中。你能告诉我我做错了什么吗?

mainStatus = ['vehicleList[0].mainStatus','vehicleList[1].mainStatus','vehicleList[2].mainStatus','vehicleList[3].mainStatus','vehicleList[4].mainStatus','vehicleList[5].mainStatus','vehicleList[6].mainStatus','vehicleList[7].mainStatus']
subStatus = ['vehicleList[0].subStatus','vehicleList[1].subStatus','vehicleList[2].subStatus','vehicleList[3].subStatus','vehicleList[4].subStatus','vehicleList[5].subStatus','vehicleList[6].subStatus','vehicleList[7].subStatus']
i = 0

while browser.text_field(:name => 'selection').value == ''
    if browser.span(:name => mainStatus[i]).text == 'AVAILABLE' && (browser.span(:name => subStatus[i]).exists?) == false
        browser.text_field(:name => 'selection').set (i + 1).to_s
        browser.button(:name => "OpSelect").click
    else 
        i + 1   
    end
        if i == 8 && browser.button(:name => "OpSelect").click.exists?
            browser.button(:name => "OpSelect").click
            i = 0
        end
end 

【问题讨论】:

  • 我不知道你想做什么。没有什么能满足循环结束条件。如果选择 text_field 为空白,则在选择 text_field 中键入内容并单击 opselect 按钮。 text_field 是否再次变为空白?假设您到达 i==8,然后单击 opselect 按钮。但是,当重新接近 while 语句时,是什么导致选择 text_field 被填充?

标签: ruby rubygems watir watir-webdriver


【解决方案1】:
while browser.text_field(:name => 'selection').value == ''
    if browser.span(:name => mainStatus[i]).text == 'AVAILABLE' && (browser.span(:name => subStatus[i]).exists?) == false
        browser.text_field(:name => 'selection').set (i + 1).to_s
        browser.button(:name => "OpSelect").click
    end
        i = i + 1   
            if i == 8 && browser.button(:name => "OpSelect").click.exists?
                browser.button(:name => "OpSelect").click
                i = 0
            end

end 

【讨论】:

  • 如果这是上面的修订版,请编辑您的问题,不要发布答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-10
  • 1970-01-01
  • 2010-09-26
  • 2013-09-11
相关资源
最近更新 更多