gpt4 book ai didi

ruby - 为什么 Capybara "wait for page to load"计时器似乎适用于匹配器而不适用于发现器?

转载 作者:数据小太阳 更新时间:2023-10-29 07:30:56 24 4
gpt4 key购买 nike

我目前正在运行一个测试来检查一个特定的元素,然后对它做一些事情。该元素需要一点时间才能让 javascript 完成启动,但在我为 Capybara 设置的计时器内。

出于某种原因

assert session.has_xpath?(xpath_route)

工作正常,但是

assert link=session.first(:xpath, xpath_route)

失败,说找不到元素。并且很快 - 早在等待计时器用完之前。

我只能假设这意味着计时器只适用于匹配器,而不适用于查找器,这很好,但我如何才能强制它继续查找直到找到我要查找的元素?

最佳答案

假设在使用first 时超时不适用,您是正确的。但是您可以使用 wait_until 方法,它会一直重试直到超时到期,或者 block 返回一些真实的东西,所以:

page.wait_until() do
session.first(:xpath, xpath_route)
end

关于ruby - 为什么 Capybara "wait for page to load"计时器似乎适用于匹配器而不适用于发现器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7690624/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com