加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

测试 – GEB找到第一个可见元素

发布时间:2020-12-14 16:25:52 所属栏目:大数据 来源:网络整理
导读:我在页面上有一些隐藏的按钮.当我单击文本输入时,页面上会显示其中一个按钮.之前: div field='login' input type="text" button class="submit" style="display: none"Save/button/divdiv field='name' input type="text" button class="submit" style="dis
我在页面上有一些隐藏的按钮.当我单击文本输入时,页面上会显示其中一个按钮.之前:

<div field='login'>
    <input type="text"> 
    <button class="submit" style="display: none">Save</button>
</div>

<div field='name'>
    <input type="text"> 
    <button class="submit" style="display: none">Save</button>
</div>

点击第二个输入后:

<div field='login'>
    <input type="text"> 
    <button class="submit" style="display: none">Save</button>
</div>

<div field='name'>
    <input type="text"> 
    <button class="submit">Save</button>
</div>

所以我尝试在我的测试中通过下一个选择器与第二个按钮进行交互:

static content = {
    submitButton { $("button.submit") }
}

但我有下一个错误:

isorg.openqa.selenium.ElementNotVisibleException: Element is not currently visible and so may not be interacted with

如果我写:

static content = {
    submitButton { $("button.submit",1) }
}

它有效,但我需要使用页面上的第一个可见按钮.怎么了?

解决方法

不幸的是,没有css选择器来查找可见元素,但您可以使用 displayed property的Navigator及其 findAll() method来查找可见的按钮:

static content = {
    submitButton { $("button.submit").findAll { it.displayed } }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读