在 Siteprism 中,我需要在执行任何操作(如单击/选择)之前等待启用元素。
目前我正在使用 Siteprism:
@page.wait_for_page_element(10)
但看起来等待是不够的。由于元素可见但未启用,我的脚本仍然失败。需要一个解决方案。
在 Siteprism 中,我需要在执行任何操作(如单击/选择)之前等待启用元素。
目前我正在使用 Siteprism:
@page.wait_for_page_element(10)
但看起来等待是不够的。由于元素可见但未启用,我的脚本仍然失败。需要一个解决方案。
你没有展示你是如何定义元素的 - 但我假设你只是做了类似 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)