我的页面上有以下代码:
<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/