1. 程式人生 > >selenium如何關閉瀏覽器中新開啟的標籤頁【精華原創帖】

selenium如何關閉瀏覽器中新開啟的標籤頁【精華原創帖】

最近在用selenium做自動化時遇到了一個問題,那就是當我在當前頁面點選了一個連結之後,彈出一個新的頁籤來展示內容,而不是在當前頁面展示,而我要做的就是關閉這個新開啟的頁籤,因為我後續的操作是基於有連結的那個頁面的。

經過多次思考和選擇,終於將其解決。下面分享給各位小夥伴:

首先,我想到的是用快捷鍵去關閉,也就是模擬滑鼠鍵盤操作,普及一下關閉瀏覽器新標籤頁的快捷方式是ctrl+w,好了,我們有思路了,那麼怎麼實現呢?

看程式碼:

Actions action = new Actions(driver);
action.keyDown(Keys.CONTROL).sendKeys("w").keyUp(Keys.CONTROL).sendKeys(Keys.NULL).perform();

我用action中的keydown和sendkeys去實現關閉新標籤頁,當然你要引入相應的包才能實現:
import org.openqa.selenium.Keys;
import org.openqa.selenium.interactions.Actions;

我要說明的有一點,比較重要,那就是有很多方法可以實現關閉新的標籤頁,我也看過很多文章,為什麼我要單獨也這一篇?原因很簡單,我要它關閉新的標籤頁後我的driver要定位到之前的標籤頁上,以保證我後續操作,所以大家明白了,其他方法也確實實現了關閉新的標籤頁,但是,driver留在了已經關閉的標籤頁上,給帶走了。。。。我就不能繼續操作了,所以我寫這篇文章的原因就在於此,我可以讓driver留在之前的標籤頁上,能夠保證我後續的自動化操作。