【问题标题】:Watir is able to see element, but can't interact with itWatir 能够看到元素,但无法与之交互
【发布时间】:2019-12-28 00:39:19
【问题描述】:

我的html结构如下:

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

从 UI 看是这样的:

我的 ruby​​ 脚本如下:

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

...那么这个命令:

browser.text_field(:id =&gt; '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 的这些荒谬问题吗?

【问题讨论】:

  • 您能否提供(最少的)HTML 来重现此行为?

标签: ruby phantomjs watir


【解决方案1】:

然后元素不可见。发生这种情况是因为可能有两个具有相同 id 的元素并且第一个被隐藏。所以写下这段代码并检查一下。

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

记住,你不需要使用wait_until_present,因为等待是自动的

【讨论】:

    【解决方案2】:
    browser.input(id: 'ctl00_ContentPane_Password').send_keys('your-text')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-13
      • 2016-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-01
      • 1970-01-01
      相关资源
      最近更新 更多