selenium.windowfocus()这个命令用于什么?

时间:2010-01-21 00:57:14

标签: selenium

这个命令是什么?

4 个答案:

答案 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做同样的事情