Как получить доступ к новой странице с помощью формы и цели = "_ blank" через капибару - PullRequest
0 голосов
/ 12 марта 2019

Я пытаюсь почистить эту страницу с помощью капибары + полтергейста.

<form action="/agency/advertiser/login" method="POST" role="form" target="_blank">    
    <input type="hidden" name="csrfToken" value="token"/>
    <input type="hidden" name="account_id" value="id">
    <input type="submit" value="login" class="btn btn-warning">                      
</form>

Я мог получить доступ к элементу ниже, и попытался click.

    <input type="submit" value="login" class="btn btn-warning">                      

Однако я не могу получить доступ к новой странице, которая открывается после щелчка. Как я могу это сделать?

1 Ответ

0 голосов
/ 12 марта 2019

Вы должны сказать Capybara, что хотите работать в новом окне.Вы делаете это, получая ручку к недавно открытому окну и затем используя within_window или switch_window.

new_window = page.window_opened_by do
  # perform whatever action causes the new window to open
  page.find('form').click_button
end

page.within_window(new_window) do
  # perform actions in the new window
end

# context returned to the original window
...
...