首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >driver.getWindowHandles()行为

driver.getWindowHandles()行为
EN

Stack Overflow用户
提问于 2021-12-27 04:50:19
回答 1查看 167关注 0票数 0

当我阅读driver.getWindowHandles()时,我在某个地方读到“它将按照打开窗口句柄的顺序返回窗口句柄”。

然而,当我实时使用它时,情况并非如此。

代码语言:javascript
复制
    public void checkAllWebpages() {
    
    ArrayList<String> tabs = new ArrayList<String>(driver.getWindowHandles());
    
    for(int tab = 1; tab<=5; tab++) {
        driver.switchTo().window(tabs.get(tab));
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

当我运行上面的代码时,WebDriver循环打开打开的选项卡,但是,它从最后到第一个而不是第一个到最后(从右到左,而不是从左到右)。

假设我现在只打开了一个选项卡,让我们称之为“a”。现在我按'b','c','d','e','f‘的顺序打开5个制表符。

如果我现在运行上述代码,WebDriver将按'f','e','d','c','b','a',而不是'a','b','c','d','e','f‘顺序遍历制表符。为什么会这样呢?

EN

回答 1

Stack Overflow用户

发布于 2021-12-27 06:41:59

“我在某个地方读过书.为什么它在别的地方起作用?”--这是个很糟糕的问题。

返回窗口句柄的顺序在规格说明中定义,该顺序声明:

返回窗口句柄的顺序是任意的。

这意味着没有特别的订单。这取决于一个特定的how驱动程序如何订购句柄。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70491775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档