2017-06-27 90 views
0

场景:我们已经开启了5个使用硒的浏览器,分别是b1,b2,b3,b4,b5。这些所有浏览器都有活动会话。在浏览器上工作时,像b4一样,因为其他浏览器而隐藏或关注焦点。我们如何使b4浏览器集中或激活,以便我们运行autoIT脚本或scikuli脚本。在硒中打开多个子浏览器时的浏览器焦点

由于b4浏览器在其他浏览器之后,涉及scikuli或autoIT的这一步将失败。

欢迎任何建议或意见。

我们尝试使用以下解决方案:

option 1: new Actions(driver).moveToElement(element).click().perform(); 
option 2: JavascriptExecutor jse = (JavascriptExecutor) driver; 
jse.executeScript("document.getElementById('elementid').focus();"); 

以上选项都不奏效。我们尝试使用机器人类,没有任何工作。

+0

所有的'浏览器'在一个硒会议?如果是这样,它们实际上是在硒会话中的窗口。您必须先切换到窗口,然后搜索元素。不知道我是否足够了解你的情况。 –

+0

否。在同一执行中打开了不同的浏览器会话。每个浏览器都有不同的应用程序 – TestGeeK

回答

0

在运行sikuli脚本之前,您必须将焦点移至b4浏览器窗口。之后,你可以运行你的Sikuli脚本。

var current_active_window = driver.getWindowHandle(); 
var child_windows = driver.getWindowHandles(); 

driver.switchTo().window(child_windows[3]); 
0

如B4浏览器是后面其它浏览器,该步骤涉及sikuli或AutoIt的失败。

代替Sikuli/Autoit,考虑使用Kantu。它的工作原理与Sikuli相似,但里面的是Chrome浏览器。所以你可以有很多打开的窗口,不需要把任何东西带到前台。

+0

但是这个解决方案在IE上不起作用。 – TestGeeK

+0

测试浏览器仅限IE。 :( – TestGeeK