提交表单后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中测试修复程序。