在text_field中输入文本后需要触发事件

问题描述 投票:0回答:3

我需要在文本字段中输入一些文本,然后在文本字段的tabout中输入,以便文本字段中的值得到服务的验证。我试图点击页面中的其他元素,但显然没有触发事件来调用服务。在这种情况下有解决方法吗?谢谢!

class MyPage

 include PageObject
 text_field(:txtinput, :id => 'textV1')
 span(:for,:id   =>  'For' )

  def enter_my_info(data)
    self.txtinput = data
    self.for_element.click  # click someother element in the page
  end 
end
watir-webdriver page-object-gem
3个回答
2
投票

这种行为通常是由'onblur'事件引发的。你可以手动触发这个使用页面对象元素的fire_event方法。

def enter_my_info(data)
  self.txtinput = data
  self.txtinput_element.fire_event('onblur')
end 

如果这不起作用,您可以尝试模仿用户行为并输入制表符。您可以通过send_keys方法发送特殊密钥。

def enter_my_info(data)
  self.txtinput = data
  self.txtinput_element.send_keys(:tab)
end 

1
投票

您是否尝试在元素上发送Tab键

http://watirwebdriver.com/sending-special-keys/


0
投票

我最后只是点击了父母:

t = b.text_field(class: 'uploadFileTitle', tracknum: index.to_s)
t.set(track.name)
t.parent.click // loses focus here
© www.soinside.com 2019 - 2024. All rights reserved.