Я пытаюсь сделать что-то внутри 2 кадров, но ошибка возникает каждый раз, когда я пытаюсь переключаться между кадрами. Например:
# encoding: utf-8
require "capybara/dsl"
Capybara.run_server = false
Capybara.current_driver = :selenium
Capybara.app_host = 'https://hb.posted.co.rs/posted'
class Account
include Capybara::DSL
def check_balance
visit('/')
page.driver.browser.switch_to.frame 'main'
fill_in 'korisnik', :with => 'foo'
fill_in 'lozinka', :with => 'bar'
click_button 'Potvrda unosa'
page.driver.browser.switch_to.frame 'header'
click_on 'Stanje'
end
end
account = Account.new
account.check_balance
Ошибка:
[удаленный сервер] Файл:///tmp/webdriver-profile20120810-9163-xy6dtm/extensions/[email protected]/components/driver_component.js: 6638: в `unknown ': невозможно найти фрейм: main (Селен:: WebDriver:: Error:: NoSuchFrameError)
В чем проблема? Может, я здесь что-то не так?
Если я меняю порядок переключения кадров, попробуйте сначала переключиться на "заголовок", а затем переключитесь на "основной" кадр, а затем повторите ту же ошибку, за исключением того, что в нем указано, что на этот раз нет "основного" кадра:
# encoding: utf-8
require "capybara/dsl"
Capybara.run_server = false
Capybara.current_driver = :selenium
Capybara.app_host = 'https://hb.posted.co.rs/posted'
class Account
include Capybara::DSL
def check_balance
visit('/')
page.driver.browser.switch_to.frame 'header'
click_on 'Stanje'
page.driver.browser.switch_to.frame 'main'
fill_in 'korisnik', :with => 'foo'
fill_in 'lozinka', :with => 'bar'
click_button 'Potvrda unosa'
end
end
account = Account.new
account.check_balance
Ошибка:
[удаленный сервер] Файл:///tmp/webdriver-profile20120810-9247-w3o5hj/extensions/[email protected]/components/driver_component.js: 6638: в `unknown ': невозможно найти фрейм: main (Селен:: WebDriver:: Error:: NoSuchFrameError)