如何在掩码字段中写入文本值?

时间:2011-10-06 08:19:42

标签: watir

我需要一些与网络表单中的屏蔽字段相关的帮助。如果我在ruby shell中执行此代码

,则phone字段的语法为(___)___-_____

browser.text_field(:id => 'txtphone').set '7893457889'

...手机字段中没有添加任何内容。 然后我在一个博客中找到了这个解决方案,有人说首先使用此代码取消屏蔽此字段。

browser.text_field(:id,'txtphone').fire_event("unmask")

然后再次写上面的代码。

browser.text_field(:id => 'txtphone').set '7893457889'

但仍然没有发生任何事情。请帮助我...我正确或者仍然存在错误。

1 个答案:

答案 0 :(得分:0)

如果您可以提供一些HTML页面样本,那么更容易为您提供更有可能发挥作用的答案。

鉴于您提供给我们的工作,我们必须采用这种屏蔽输入字段通常工作的常规方式并从那里开始。通常具有此类事物的页面调用由特定事件触发的javascript函数。大多数情况下,这是一个诸如onchange之类的事件,但它可能类似于按键或任何其他事件,甚至在普通用户键入或过去文本到单元格时也会发生。

您可能需要尝试使用'.fire_event'方法来触发正确的javascript事件,或者如果完全无法直接调用以执行正确的脚本

执行此操作时,不要混淆脚本(如“applymask”)的名称,也不要混淆javascript事件导致调用该脚本的事件。

这个问题How to find out which JavaScript events fired?的答案包括一些关于如何使用firebug或chrome开发人员工具的好信息,以确定在浏览器屏幕上与对象交互时正在触发的事件。

更新,而不是在此回复以表明此答案是否有用,OP在此处重新发布了他们的问题Masked Text Box issue并在供应商的演示网站上挖掘(从那时起)实际上,当我们要求时,我发布了一些HTML)我能够找到一个使用watir-webdriver的解决方案。