如何使用Watir自动化Reactjs下拉列表

时间:2018-11-28 13:17:31

标签: reactjs watir

当前,我正在使用reactjs Web应用程序,并且该应用程序在整个应用程序中都有许多下拉菜单,正常的下拉菜单(选择)方法不起作用,因为选择的选项是从react下拉菜单组件动态加载的,但目前我试图通过这样的击键来进行梳理:

@browser.text_field(name: "countries").set("Germany");sleep1
@browser.text_field(name: "countries").send_keys :enter

我正在写文本字段,并等待直到出现预期的文本,然后使用按键。

下面是HTML,我知道它在任何程度上都无济于事:

<div class="Select-input" style="display: inline-block;"><input name="countries" data-test-id="countries" autocomplete="0" aria-activedescendant="react-select-7--value" aria-expanded="false" aria-haspopup="false" aria-owns="" role="combobox" value="" style="box-sizing: content-box; width: 5px;"><div style="position: absolute; top: 0px; left: 0px; visibility: hidden; height: 0px; overflow: scroll; white-space: pre; font-size: 16px; font-family: &quot;Open Sans&quot;, sans-serif; font-weight: 400; font-style: normal; letter-spacing: normal; text-transform: none;"></div></div>

但是,我认为这不是最佳解决方案,任何建议或解决方案都将非常有帮助。

1 个答案:

答案 0 :(得分:0)

您需要在该选项(而不是文本字段)上传递Enter键。可能是这样的。

 @browser.text_field(name: "countries").set("Germany");sleep1
 @browser.element(text: "Germany").send_keys :enter

您无需传递Enter键来更具体,您可以触发点击。

 @browser.text_field(name: "countries").set("Germany");sleep1
 @browser.element(text: "Germany").click