2017-08-16 83 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