我对 Capybara 中的框架有疑问。我切换到一帧并单击足球,然后单击该类别的所有链接,但仅单击了 2 个链接,然后出现该错误并显示该元素不在当前帧上的消息。
require 'rubygems'
require 'capybara'
require 'capybara/dsl'
Capybara.run_server = false
Capybara.current_driver = :selenium
Capybara.default_wait_time = 5
Capybara.app_host = 'http://sports.sbobet.com'
module MyCapybaraTest
class Test
include Capybara::DSL
def test
visit('/')
page.driver.browser.switch_to.frame 'leftFrame'
wait_until {page.find('table span.SportName').visible?}
page.all('table span.SportName').each do |span|
if (span.text == 'Football')
span.click
page.all('div#MarketTbl span.LMenuLeft a').each do |a|
puts a[:href]
a.click
sleep 3
end
end
end
end
end
end
t = MyCapybaraTest::Test.new
t.test
详细错误为: https ://gist.github.com/3252149
我不知道出了什么问题,因为如果我删除sleep 3
它,它就会正常运行。