gpt4 book ai didi

cucumber - 在 Capybara 中检查元素是否存在而不浪费时间

转载 作者:行者123 更新时间:2023-12-02 12:34:19 24 4
gpt4 key购买 nike

我喜欢保持干燥,这就是为什么我希望在我的步骤之一中包含以下内容:

if first(:css, "#blabla") != nil
find_by_id(blabla).click
end
find_by_id(....)
....

这意味着它将查找某个元素,如果存在,它将单击它。如果没有,我不会浪费时间(我的默认等待时间是 20 秒,如果我在那里放置 find 而不是 first ,就会使用该时间。

主要问题是我不想在这种情况下检查某个元素时浪费时间,但我也想知道这是否是一个好方法。

最佳答案

我发现您的代码对浏览器进行了不必要的第二次查询(您已经有 first(:css, "#blabla") 因此无需执行 find_by_id(blabla))

我建议您使用一个查询来查找元素:

el = first('#blabla')
el.click unless el.nil?

请注意,这里不会损失时间,因为 first 不会阻塞。

但是,first 不会检查页面上是否没有其他元素。您可以添加 :maximum 来检查它:

el = first('#blabla', maximum: 1)
el.click unless el.nil?

关于cucumber - 在 Capybara 中检查元素是否存在而不浪费时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15556976/

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