提交表单后Watir文本框输入不存在(重置为上一个文本框输入)

我在这个网站上做了一些搜索: http : //onthemap.ces.census.gov/

这是我的代码在错误之前的设置:

sample_address = "1600 Amphitheatre Pkwy, Mountain View, CA 94043" b= Watir::Browser.new :chrome b.goto "http://onthemap.ces.census.gov" b.text_field(:id => "search_value").set sample_address b.span(:id => "search_button_label").click Watir::Wait.until { ba(:text => "Geocoder Results").exists? } address_selector = sample_address.split(" ")[0..1].join(" ") ba(:text => /#{address_selector}/).click Watir::Wait.until { b.div(:class => "olPopup").exists? } b.span(:text => Selection").click 

所以现在我要尝试将2英里插入“简单半径”框,其默认值为0.25

 b.text_field(:name => "simple_r").set 2.0 

文本框按预期更改为2.0。 然后我尝试点击确认选择….

 b.span(:text => "Confirm Selection").click 

现在,突然之间“simple_r”值恢复到之前的值(0.25)并且我的脚本没用。

为了说明,如果我将我的watir对象连接到浏览器,然后我继续手动在“简单环半径”字段中键入“100.0”,那么拉出watir对象并再次运行此代码:

 b.text_field(:name => "simple_r").set 2 b.span(:text => "Confirm Selection").click 

“simple_r”半径的值将恢复为100。

这是一个显示错误的小video直播。 请注意,在截屏video中,我没有点击任何按钮或手动输入任何文本。 您需要将其切换到720p才能正常查看。 http://youtu.be/gdDZWHwXduA

似乎应该有JavaScript触发简单半径字段的模糊。 但是,它似乎并没有持续发射。 手动触发JavaScript解决了这个问题:

 b.text_field(:name => "simple_r").value = 2 b.text_field(:name => "simple_r").fire_event(:onblur) 

请注意,我只能在Firefox中一致地重现该问题。 由于问题从未发生过,我无法在Chrome中测试修复程序。