确保webdriver打开的浏览器始终处于焦点

时间:2012-05-18 08:59:26

标签: selenium webdriver

如果浏览器窗口未对焦,则当前页面上的所有webdriver标识都将失败。

如何使用webdriver将浏览器引入焦点?

5 个答案:

答案 0 :(得分:8)

((JavascriptExecutor) webDriver).executeScript("window.focus();");

应该做的伎俩!

答案 1 :(得分:6)

executeScript("window.focus();") 在最新的Chrome中不适用于我(本帖时v47)

但是,我在another question中发现了 在此版Chrome中工作的黑客攻击。

以下是一般步骤,因为问题未指定Selenium API语言:

  1. 通过在浏览器中执行脚本显示提醒
  2. 接受提醒
  3. webdriverjs中的实施,我正在使用

    const chrome = setupChromeWebdriver(); // get your webdriver here
    
    chrome.executeScript('alert("Focus window")'))
      .then(() => chrome.switchTo().alert().accept());
    

答案 2 :(得分:2)

这对我有用。在打开浏览器的代码之后,发出以下代码段:

String window = driver.getWindowHandle();
((JavascriptExecutor) driver).executeScript("alert('Test')");
driver.switchTo().alert().accept();
driver.switchTo().window(window);

答案 3 :(得分:1)

Selenium 3.0采用了这个:

((IJavaScriptExecutor)po.WebDriver).ExecuteScript("window.focus();");

答案 4 :(得分:0)

将焦点设置在“驱动程序选项”上应该起作用:

InternetExplorerOptions options = new InternetExplorerOptions();
options.setCapability("requireWindowFocus", true);