Ruby 使用Selenium WebDriver保持对弹出窗口的关注

Ruby 使用Selenium WebDriver保持对弹出窗口的关注,ruby,selenium,selenium-webdriver,Ruby,Selenium,Selenium Webdriver,我正在使用SeleniumWebDriver(Ruby)运行一个自动化脚本。在某个时候,我需要单击myelement,结果会打开一个弹出窗口(新模式浏览器窗口) 但是,脚本(browser变量)的焦点仍然在原始浏览器窗口上,而不是在弹出窗口中。我怎样才能保持对弹出窗口的关注 require 'selenium-webdriver' browser = Selenium::WebDriver.for :chrome browser.navigate.to 'http://example.com'

我正在使用SeleniumWebDriver(Ruby)运行一个自动化脚本。在某个时候,我需要单击myelement,结果会打开一个弹出窗口(新模式浏览器窗口)

但是,脚本(
browser
变量)的焦点仍然在原始浏览器窗口上,而不是在弹出窗口中。我怎样才能保持对弹出窗口的关注

require 'selenium-webdriver'
browser = Selenium::WebDriver.for :chrome
browser.navigate.to 'http://example.com'
browser.find_element(:id, 'myelement').click # Opens pop up and returns nil

你可以用像

@browser.switch_to.window(@browser.window_handles.last)
公认的答案很好地解释了如何使用switch_to