2017-08-16 90 views
0

我试图将Opera添加到我们的Selenium网格上的节点,但遇到关闭Opera浏览器的问题。在Opera中,关闭浏览器中的最后一个选项卡不会关闭浏览器。它反而会启动一个叫做快速拨号的功能。这显然是Opera中的默认行为。我试图禁用快速拨号,但它似乎不阻止此行为。如何通过RemoteWebDriver完全关闭Opera浏览器

由于通过RemoteWebDriver运行测试,我不能只在Opera节点上调用脚本来关闭窗口。

我已经试过了传统的方法,它关闭的标签,但随后歌剧院推出一个空或快速拨号标签:

driver.close(); 
driver.quit(); 

我试图执行一个动作和发送键进入HTML正文:

Actions action = new Actions(driver); 
action.sendKeys(driver.findElement(By.xpath("//body")),Keys.CONTROL, Keys.SHIFT, "W"); 
action.build().perform(); 
driver.quit(); 

我还试图建立一个动作和发送键进入醚:

Actions action = new Actions(driver); 
action.sendKeys(Keys.CONTROL, Keys.SHIFT, "W"); 
action.build().perform(); 
driver.quit(); 

有没有人找到适合此功能的解决方法?

+0

你在远程机器上使用什么操作系统? –

+0

@ShubhamJain Windows Server 2016 – Nick

回答

0

我找到了解决方法。我的代码是在C#

Utility.Instance.KillProcess("opera"); 
System.Windows.Forms.SendKeys.SendWait("{ESC}"); 
Utility.Instance.KillProcess("operadriverserver"); 

希望它能帮助你。

+0

谢谢Kapil,但我不认为你可以杀死远程机器上的进程。 – Nick