watir - 如何使用 Watir 将文本输入到 react 选择控件中

标签 watir watir-classic

我的页面上有以下代码:

 <div class="col-md-5 col-lg-3">
  <div class="react-selectize bootstrap3 root-node simple-select open">
   <div class="react-selectize-control">
    <div class="react-selectize-placeholder">testing!</div>
     <div class="react-selectize-search-field-and-selected-values">
      <input class="resizable-input" style="width: 4px;" type="input">

如果我物理选择输入字段,然后使用 watir-classic 运行以下命令:

BROWSER.div(:class => 'col-md-5 col-lg-3')
       .div(:class => 'react-selectize-search-field-and-selected-values')
       .text_field(:class => 'resizable-input')
       .send_keys('Magg')

它将在字段中输入Magg,但如果我不手动选择该字段,我似乎无法让 watir 输入文本。

我尝试过以下方法:

BROWSER.div(:class => 'col-md-5 col-lg-3')
       .div(:class => 'react-selectize-search-field-and-selected-values')
       .text_field(:class => 'resizable-input')

.set('Magg')
.fire_event('onfocus')
.fire_event('mousedown')
.fire_event('mouseup')

使用

.parent.text_field(:class => 'resizable-input')
.parent.input(:class => 'resizable-input').set('Magg')
.input(:class => 'resizable-input').set('Magg')
.input(:class => 'resizable-input').send_keys('Magg')

我一直在与使用该控件的开发人员合作,但我们都无法弄清楚如何给予控件焦点,以便 send_keys 无需手动选择控件即可工作。任何指导将不胜感激。

最佳答案

首先 - 强制警告 Watir Classic 已被弃用,您应该使用 Watir WebDriver。 (这可能会解决这个问题)

第二 - 从技术上讲:div(:class => 'col-md-5 col-lg-3') 应该是 div(:css => '.col-md- 5.col-lg-3') 因为类应该是单数。

您是否尝试过在 element.set 之前执行 element.fire_event(:click)

关于watir - 如何使用 Watir 将文本输入到 react 选择控件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38468433/

相关文章:

watir - Watir 能识别 META HTML 元素吗?

watir - 如何在 PageObject 中使用 css 获取元素

ruby - 找到了新的 Select_list 并且不知道如何为此编写代码

Ruby/Watir - 从数组格式化打印

ruby-on-rails - Watir-Webdriver - 协议(protocol)不支持的地址族 - socket(2)

ruby - 使用 Watir 验证 html 中是否存在 strike 标签