我在页面上有一些隐藏的按钮.当我单击文本输入时,页面上会显示其中一个按钮.之前:
<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 } } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。