Sta*_*orn 15
多数民众赞成你的回应.它解决了!
解决方案:
我使用webDriver.SwitchTo().DefaultContent();它时切换webDriver到页面的最顶层窗口.[以前我在这个窗口中寻找按钮元素,因此无法找到它,因为按钮位于页面的主框架中]
切换到主窗口后,我webDriver再次切换到页面的主框架.这个主框架有按钮元素.因此我能够找到按钮元素.这就解决了这个问题!
所以最终的代码没有,webDriver.SwitchTo().DefaultContent();但在其位置有以下内容:
_webDriver.SwitchTo().Window(windowHandle);
_webDriver.SwitchTo().Frame("mainFrame");
Run Code Online (Sandbox Code Playgroud)
注意:上面代码中的windowHandle是页面最顶层窗口的句柄.我猜它的价值可能会根据浏览器而改变,但不确定.
我正在努力解决类似的问题,发现我可以通过Window Handle以下方式切换回来:
string currentWindow = Driver.CurrentWindowHandle;
// switch to frame and do stuff..
Driver.SwitchTo().Window(currentWindow); // switch back
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
33349 次 |
| 最近记录: |