watir,元素目前不可见

时间:2012-04-19 14:23:39

标签: ruby firefox watir watir-webdriver

我正在尝试与网页上的小部件进行交互,将数据输入到表单元素中。但我收到一个错误,说元素当前不可见,因此无法与之交互。当手动与页面交互时,文本框会要求您输入内容,然后单击该框并接受输入时该文本消失。我已经尝试过先点击这个方框,但这对我来说也不起作用。这是原始的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">`

连连呢?不可能?

2 个答案:

答案 0 :(得分:1)

一个潜在的问题是代码中的input元素缺少'type'属性,这是watir用来区分text_field和checkbox之类的东西(因为它们都是输入元素,但行为不同)

没有那个类型属性(角色并没有真正削减它,它甚至不是输入字段的标准元素,即使在html5中也是如此,not as far as I can tell

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

无论如何,这是谁的小部件?他们有一个演示页面,展示了它的一个例子吗?这将使人们更容易发现使用控件的潜在方法。

答案 1 :(得分:0)

这对我有用:

b.text_field(:class => /autocomplete/).set 'hello'