如果浏览器窗口未对焦,则当前页面上的所有webdriver标识都将失败。
如何使用webdriver将浏览器引入焦点?
答案 0 :(得分:8)
((JavascriptExecutor) webDriver).executeScript("window.focus();");
应该做的伎俩!
答案 1 :(得分:6)
executeScript("window.focus();")
在最新的Chrome中不适用于我(本帖时v47)
但是,我在another question中发现了 在此版Chrome中工作的黑客攻击。
以下是一般步骤,因为问题未指定Selenium API语言:
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);