切换到窗口脚本无法正常工作

时间:2018-05-17 13:14:10

标签: c# selenium

public Wrapper SwitchToWindowWithName()
            {
                try {
                    //driver.switchTo().window(newstrWindowName);
                    //Switch to new window opened
                    foreach(String handler in driver.WindowHandles)
                        driver.SwitchTo().Window(handler);
                }
                catch(Exception e) {
                    reporter.WriteToTestLevelReport("Switch Window", "Switch to new Window ", "Exception occured : " + e.Message, "Fail");
                    throw (e);
                }

                return this;
            }

    public Wrapper SwitchToFrameWithName(String frameName)
            {
                driver.SwitchTo().Frame(frameName);
                return this;
            }

上面的代码已在Wrapper中定义,用于处理应用程序中出现的新窗口或框架。上面的代码用于我的一个应用程序时工作正常,但相同的代码不适用于处理新窗口的另一个应用程序。有一个名为"查看结果"的按钮;在我的申请中。在单击查看结果按钮时,将打开一个窗口并单击按钮。目前我的代码点击了"查看结果"按钮,但单击新窗口中的按钮。有关其他信息,请与我们联系。 我添加了2张图片截​​图。第一个屏幕截图具有"查看结果"突出显示的按钮。第二个屏幕截图是在运行脚本时显示在新窗口上的页面。 Loyalty Result Page

1 个答案:

答案 0 :(得分:1)

您能否使用窗口在标签之间切换而不是框架? 到目前为止,我的理解是不能使用框架在两个标签之间切换 。使用框架仅适用于同一页面上的元素,例如提醒,弹出窗口等。要执行与屏幕截图相对应的操作,您必须切换窗口

public Wrapper SwitchToWindowWithName(String window)
    {

        driver.SwitchTo().Window(window);
        return this;
    }