等到元素处于活动/启用状态以在Siteprism Capybara上执行操作(如单击/选择)?

时间:2015-12-14 16:38:29

标签: selenium-webdriver rspec cucumber capybara site-prism

在Siteprism中,我需要找到在执行任何操作(例如点击/选择)之前等待元素启用。

目前我正在使用Siteprism:

@ page.wait_for_page_element(10)

但看起来还不够等待。我的脚本仍然失败,因为元素可见但未启用。需要一个解决方案。

1 个答案:

答案 0 :(得分:0)

你没有展示你是如何定义元素的 - 但我假设你刚才做了类似element :page_element, '#my_page_element'的事情 - 这个问题是它没有给出任何迹象表明该元素实际上是一个字段并且不允许使用任何字段匹配过滤器。相反,如果您将元素定义为

element :page_element, :field, '#my_page_element'

然后我相信在它上面调用wait_for_page_element实际上会等待它被启用,因为Capybara默认只找到启用的字段。如果没有,或者你想等待一个禁用字段在页面上,那么你可以将过滤器选项(禁用,检查,只读等)传递给wait_for_page_element

@page.wait_for_page_element(10, disabled: false)