我在这个网站上做了一些拼抢: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 { b.a(:text => "Geocoder Results").exists? }
address_selector = sample_address.split(" ")[0..1].join(" ")
b.a(: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。
这是一个显示错误的小视频直播。请注意,在截屏视频中,我没有点击任何按钮或手动输入任何文本。您需要将其切换到720p才能正常查看。 http://youtu.be/gdDZWHwXduA
答案 0 :(得分:2)
似乎应该有JavaScript触发简单半径字段的模糊。但是,它似乎并没有持续发射。手动触发JavaScript解决了这个问题:
b.text_field(:name => "simple_r").value = 2
b.text_field(:name => "simple_r").fire_event(:onblur)
请注意,我只能在Firefox中一致地重现该问题。由于问题从未发生过,我无法在Chrome中测试修复程序。