索引在 WindowCollection 上不可靠

indexing not reliable on WindowCollection

我已经升级到最近的 WATIR(7.0.0.beta5),当我执行以下行时

@browser.windows.last.use

我遇到了这个错误

"indexing not reliable on WindowCollection"

这在我之前的 WATIR 版本 (6.19.1) 中运行良好。有什么问题?

还有一个问题,貌似能力变化比较多。我现在必须分别设置 page_load_timeoutread_timeout 吗?我也读过 open_timeout,我不知道它是干什么用的,有人能帮我理解它是什么吗?

不保证驱动程序总是 return windows 以相同的顺序,因此已决定弃用根据它们的索引(即在数组中的位置)访问 windows windows)。你有几个选择。

与 2 windows

合作

如果您只使用 2 windows(可能是大多数情况),建议使用 2 种新方法:

# Switch to the second window that was opened
browser.switch_window 

# Return to the first window
browser.original_window

与 3+ 一起工作 windows

最好的方法是根据已知属性找到您想要的window:

# By url
browser.window(url: /closeable\.html/).use

# By title
browser.window(title: 'closeable window').use

# By an element in the window (new)
browser.window(element: browser.a(id: 'close')).use

(不推荐)按索引

不建议这样做,但是如果你坚持使用索引,你可以通过将 WindowsCollection 强制为 Array 来作弊:

browser.windows.each.to_a.last