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 #=> [#, #]

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!