小编Has*_*ziz的帖子

Webdriver,CSharp,C#-无法在Windows之间切换

在C#中尝试使用最新版本的webdriver切换窗口时,我陷入了困境。

我有一个基本窗口,当我单击一个按钮时,它将打开一个新窗口。

该按钮的目标代码如下。

window.open(uri, "DisplayPage", " width=1200, scrollbars=yes , resizable = yes ,   toolbar =  no , menubar =  no");
Run Code Online (Sandbox Code Playgroud)

我正在使用下面提到的代码来定位新窗口

   string BaseWindow = _driver.CurrentWindowHandle;

   ReadOnlyCollection<string> handles = _driver.WindowHandles;

    foreach (string handle in handles)
    {

        if (handle != BaseWindow)
        {
            _driver.SwitchTo().Window(handle).Title.Equals("DisplayPage");

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

从上面可以看到,我正在使用基本窗口中的目标标题切换到该窗口。这似乎不起作用。

然后,我注意到打开的窗口的标题不同,它是“显示-交易页面”

然后我将代码修改为此

 string BaseWindow = _driver.CurrentWindowHandle;

       ReadOnlyCollection<string> handles = _driver.WindowHandles;

        foreach (string handle in handles)
        {

            if (handle != BaseWindow)
            {
                _driver.SwitchTo().Window(handle).Title.Equals("Display - Transaction Page");

            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

仍然没有运气。

有趣的是,我没有得到任何错误提示“找不到窗口”。

问题是,当我尝试单击新打开的页面上的元素时,我收到了NoSuchElementException,这意味着未将新打开的窗口作为目标。

有任何想法吗?

问候,

哈桑

c# selenium automation webdriver selenium-webdriver

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

automation ×1

c# ×1

selenium ×1

selenium-webdriver ×1

webdriver ×1