当前位置: 首页 > 知识库问答 >
问题:

Selenium Webdriver窗口切换随机失败

汲丰茂
2023-03-14
driver.switchTo().window(myWindowHandle1);
driver.findElement(By.xpath("//body")).click();
ElementNotVisibleException: Cannot click on element --- in this case, line 2

问候

共有1个答案

吴和硕
2023-03-14

我终于找到了答案,我用下面的方法切换到新窗口,

public String switchwindow(String object, String data){
        try {

        String winHandleBefore = driver.getWindowHandle();

        for(String winHandle : driver.getWindowHandles()){
            driver.switchTo().window(winHandle);
        }
        }catch(Exception e){
        return Constants.KEYWORD_FAIL+ "Unable to Switch Window" + e.getMessage();
        }
        return Constants.KEYWORD_PASS;
        }

要移动到父窗口,我使用了以下代码,

 public String switchwindowback(String object, String data){
            try {
                String winHandleBefore = driver.getWindowHandle();
                driver.close(); 
                //Switch back to original browser (first window)
                driver.switchTo().window(winHandleBefore);
                //continue with original browser (first window)
            }catch(Exception e){
            return Constants.KEYWORD_FAIL+ "Unable to Switch to main window" + e.getMessage();
            }
            return Constants.KEYWORD_PASS;
            }

使用此代码在窗口之间切换。

 类似资料:
  • 问题内容: 我有一个应用程序,允许用户选择一个选项,并根据用户选择从组件中删除一个JPanel,添加新的JPanel并重新验证该组件 看到代码: c是一个组件 我有几个JPanels,用户可以在它们之间切换,并且开关可以正常工作。但是,当我根据用户选择添加此JPanel时,以后添加的JPanels无法正确加载。是什么原因造成的? } 问题答案: 更好的方法是转向CardLayout。但是如果您想坚

  • 我正在IE上测试。单击后,我切换到子窗口,但无法返回父窗口,出现错误“窗口已关闭”。

  • 目前,我已经开始使用Selenium2.0/Web-Driver为我工作的公司进行自动化测试。 目前我已经开发了大约20个测试,但是当我运行这些测试时,它们会为每个测试打开一个新的浏览器窗口。 我在注册测试用例中运行它,然后 在第二个测试用例中运行,我认为应该将焦点放回第一个窗口。 我还使用关闭正在创建的其他窗口,但我希望它们一开始就不打开。

  • 2.6 在不同的窗口中切换 当CGDB最初运行时,CGDB默认处于GDB模式。状态栏右侧的 * 符号显示当前的输入会被传入GDB窗口。按下 ESC 键可切换至代码窗口,CGDB模式切换键是将用户从别的模式切换到CGDB模式的快捷键,默认的CGDB模式切换键是 ESC 。如果您想改变CGDB模式切换键对应的快捷键,请查阅CGDB的配置选项。参见第4章。 现在CGDB处于CGDB模式。要切换回GDB模