0

我正在尝试与网页上的小部件进行交互,将数据输入到表单元素中。但是我收到一条错误消息,说元素当前不可见,因此无法与之交互。当手动与页面交互时,文本框会要求您输入一些内容,然后当您单击该框并接受输入时,该文本就会消失。我试过让 watir 先点击这个框,但这对我也不起作用。这是原始的html:

<input class="symbol-search ui-autocomplete-input x-defaulttext-ghost" autocomplete="off" role="textbox" aria-autocomplete="list" aria-haspopup="true">`

在我点击浏览器中的框后,更改为:

<input class="symbol-search ui-autocomplete-input" autocomplete="off" role="textbox" aria-autocomplete="list" aria-haspopup="true">`

建议?不可能?

4

2 回答 2

1

一个潜在的问题是代码中的输入元素缺少“类型”属性,这是 watir 用来区分诸如 text_field 和复选框之类的东西(因为它们都是输入元素,但行为不同)

没有那个类型属性(角色并没有真正削减它,它甚至不是输入字段的标准元素,甚至在 html5 中也不是,据我所知

缺少 type 属性,您将无法使用 watir 支持的大多数标准输入类型,这意味着您将无法访问 .set 方法您可能必须使用基本的 'element 来解决这个问题' 类,然后在单击它后使用 .send_keys 之类的东西来触发击键。

这到底是谁的小工具?他们有一个演示页面来展示它的例子吗?这将使人们更容易发现使用控件的潜在方法。

于 2012-04-20T19:18:54.407 回答
0

这对我有用:

b.text_field(:class => /autocomplete/).set 'hello'
于 2012-04-20T01:48:39.613 回答