我在浏览器堆栈上测试我的案例时遇到了问题。面临的问题是不一致的。
使我的代码等到元素加载时使用如下:
gift_no_btn1 = Capybara.find('giftingNoButton')
gift_no_btn1.click
这里的问题是屏幕卡在另一个未加载我想要的元素的模块中,因此我的脚本失败了。我已经读过在Capybara 2.0中将find()方法替换为wait_untill方法。
答案 0 :(得分:4)
Capybaras发现方法将等待Capybara.default_max_wait_time秒,以显示匹配元素。如果他们没有等待足够长的时间,可以使用:wait选项(如
)增加该设置或覆盖特定查找page.find :css, 'CSS selector for the element', wait: 10
将等待最多10秒钟的元素存在。在您的示例中,您传递的是'giftingNoButton'的CSS选择器,除非您使用自定义元素,否则该选择器无效。你可能想要'#giftingNoButton'(找到id匹配)或'.giftingNoButton'(类匹配)