NMKP
NMKP

Reputation: 799

How to open mutiple tabs within a browser using Capybara?

I need to open multiple tabs within a single browser and i need switch over all the tabs.

Give me your suggestions. Thanks in advance.

Upvotes: 2

Views: 1490

Answers (2)

narendra
narendra

Reputation: 1

You can use this exact function in Ruby:

page.driver.browser.switch_to.window(page.driver.browser.window_handles.last)

Upvotes: 0

Manigandan
Manigandan

Reputation: 5080

I'm not so strong in capybara. so, i'm giving solution to switch over between tabs using selenium.

For a instance you clicks a button in a web page and it will open a new page.

The new page may open in a new tab in the same browser window or in a new browser window. That is not controlled by selenium. It will control by the browser which you using.

For a instance take firefox, goto tools->ptions-> tabs-> open new windows in a new tab instead check the option. For example, if you clicks a button it will opens a page only in the new tab of a same browser window. For a sake if you unchecked mean it will open a page in the new browser window. Likewise every browser has its own settings.

Try this code:

 new Actions(driver)
.sendKeys(driver.findElement(By.tagName("html")), Keys.CONTROL)
.sendKeys(driver.findElement(By.tagName("html")), Keys.NUMPAD2)
.build().perform();

In above Keys.NUMPAD2 refers that you are gonna move to the second tab in the session. You can move to Third, Fourth, etc... by giving NUMPAD3, NUMPAD4, etc... respectively. Here i am using windows OS, if you are in some other OS use their shortcuts.

I hope this will help you.

Upvotes: 1

Related Questions