使用可执行脚本在rspec中手动拖动元素时:
page.execute_script("$('.slide.slid').sortable('option','update')(null, { item:$('#slide_deck_container').appendTo($('.slide.slid')) })")
收到错误:
Selenium :: WebDriver :: Error :: UnknownError异常:未知错误:在初始化之前无法调用sortable上的方法;试图调用方法'选项' (会议信息:chrome = 56.0.2924.87) (驱动程序信息:chromedriver = 2.27.440175(9bc1d90b8bfa4dd181fbbf769a5eb5e575574320),platform = Linux 3.13.0-32-generic x86_64)
答案 0 :(得分:1)
您获得的错误非常明显:您正试图调用可排序的选项'对尚未初始化为可排序的元素的方法。你是在错误的元素上调用它(是$(' slid.slid')实际的"可排序"父元素?)或者您之前调用它页面已初始化。如果第一个然后你需要在正确的元素上调用它,如果第二个然后你需要设置对页面上出现的东西的期望,以显示它被初始化,所以Capybara将等待它,或睡眠几秒钟允许页面时间初始化。