Hemanth's Scribes

ruby

Watir Webdriver attach window

Author Photo

Hemanth HM

Thumbnail

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!

#ruby#testing
Author Photo

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.