Watir能够看到元素,但无法与其交互

时间:2019-08-22 16:24:22

标签: ruby phantomjs watir

我的html结构如下:

<input name="ctl00$ContentPane$Password" type="password" id="ctl00_ContentPane_Password">

在用户界面中,外观如下:

enter image description here

我的红宝石脚本如下:

browser.text_field(:id => 'ctl00_ContentPane_Password').wait_until_present(10)-返回 true

...然后执行以下命令:

browser.text_field(:id => 'ctl00_ContentPane_Password').set ('test')-返回错误消息

Session: [Watir::Exception::UnknownObjectException] unable to locate element, using {:id=>"ctl00_ContentPane_Password", :tag_name=>"input or textarea", :type=>"(any text type)"}

任何人都对Watir这类荒谬的问题很熟悉吗?

2 个答案:

答案 0 :(得分:0)

然后看不到元素。发生这种情况是因为可能有两个具有相同ID的元素,而第一个元素被隐藏了。因此,编写此代码并进行检查。

 browser.text_fields(:id => 'ctl00_ContentPane_Password')[1].set 'test'

请记住,您无需使用wait_until_present,因为等待是自动的

答案 1 :(得分:0)

browser.input(id: 'ctl00_ContentPane_Password').send_keys('your-text')