While porting a Watir based automation framework to watir-webdriver, I came across an issue that most have come across, that being: “In Watir and Selenium Webdrivers, there is no longer an attach method to attach to existing browsers.”
But an in-depth analysis of the rspec for watir-webdriver brought a simple method to the lime light.
browser.windows #=> [#<Window>, #<Window>]
browser.windows.first.current? #=> true
browser.windows.last.use
browser.windows.first.close
browser.window(:title => "foo").use
browser.window(:url => /bar/).use { ...code... }
As the above code makes it clear, it’s easy to switch between windows, even though the ‘attach’ method is missing in the webdriver.
Alternatively one can also use:
browser.driver.switch_to.window(browser.driver.window_handles[0])
But that would get complicated with too many popups to handle. Interestingly there is one issue still lurking around in the Selenium world!
About Hemanth HM
Hemanth HM is a Sr. Machine Learning Manager at PayPal, Google Developer Expert, TC39 delegate, FOSS advocate, and community leader with a passion for programming, AI, and open-source contributions.