我的html结构如下:
<input name="ctl00$ContentPane$Password" type="password" id="ctl00_ContentPane_Password">
在用户界面中,外观如下:
我的红宝石脚本如下:
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这类荒谬的问题很熟悉吗?
答案 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')