0

我正在测试一个包含多个 webviews/pages 的 webview 应用程序。要获得我所做的网络视图:

$driver.window_handles

它返回我一个数字的窗口索引数组,例如['1', '3', '5', '6', '7', '8']

现在,如果我想切换到包含文本“My TITLE”的特定窗口;我必须使用循环遍历数组中的每个索引并将窗口切换到该索引,然后检查该窗口中是否存在文本。

例如:

$driver.switch_to.window('1') if 'My Title' not found; $driver.switch_to.window('3') and so on until I find the window.

我什至试图寻找窗口/驱动程序的标题;但是对于某些窗口,我的标题为零,所以这不是我找出窗口的最佳方法。

有没有其他方法可以尝试获得所需的窗口?

4

1 回答 1

4

您可以采取以下方法:

#create a array with window_id and its corresponding window page title
wnd_titl = driver.window_handles.map do |w|
  driver.switch_to.window(w)
  [w,driver.title]
end

#required window
win_id = wnd_titl.find { |e1,e2| e2 == 'My TITLE' }.first
driver.switch_to.window(win_id) #switched to the required window
于 2013-07-30T15:50:10.730 回答