这个命令是什么?
答案 0 :(得分:10)
您可能认为Selenium.selectWindow()就是您所需要的。但这只是告诉Selenium你想要所有Selenium命令去哪个窗口。您可以发送给它的命令之一是“给予此(当前选定的)窗口焦点”。
这有点令人困惑,因为Windows(和其他系统)有时会引用“选定窗口” - 位于其他窗口之上的窗口或“活动”窗口。在这里,我们称之为“有焦点”的窗口。它是指向键盘事件的窗口。在窗口内部,各个小部件(文本字段,滚动条,按钮)也可以具有焦点。
所以windowFocus()就像点击Selenium当前正在使用的窗口的标题栏一样。
答案 1 :(得分:4)
来自Selenium文档
<强> windowFocus()强>
将焦点放在当前选中的位置 窗口
答案 2 :(得分:0)
根据我的经验,使用Selenium windowFocus()方法获取窗口焦点有时无效。我发现自己有时使用JavascriptExecutor,然后使用Selenium switchTo()方法切换到需要焦点的句柄,然后执行:
public static void getWindowFocus( String windowHandle ) {
driver.switchTo( windowHandle );
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript( "window.focus();" );
js = null;
}
答案 3 :(得分:0)
除非或直到你使用windowHandles在多个窗口之间切换,否则你的焦点将默认在selenium发布的第一个窗口上。 widnowFocus做同样的事情