Python Selenium 控制多個瀏覽分頁的方法

selenium_multiple_tab_control_feature_picture

介紹:

本文將介紹Selenium Web Drive瀏覽器多分頁(Multiple tab)的載入不同網頁的方法,以及切換控制的分頁目標。

說明:

使用Selenium時,Python會呼叫起Web drive,也就是受控制的瀏覽器

但預設的瀏覽器只會開啟一個瀏覽分頁,若要控制多的瀏覽分頁該如何使用?

下面這段程式碼就是要按下 Ctrl + T 來新增分頁,而且要搭配pyautogui

pyautogui.hotkey('ctrl', 't', interval=0.1)

若我們透過按下 Ctrl + T 來開啟新的分頁,可以看Web drive確實也新增了一個分頁,但當你使用get function去呼叫新的網址url 的時候會發現,新的網址只會在原本的分頁上載入。

即便用 pyautogui 去按下 Ctrl + Tab鍵 來回切換也沒用

pyautogui.hotkey('ctrl', 'tab', interval=0.1)

正確的方法是切換瀏覽器的window handle

driver.switch_to.window(driver.window_handles[1])

以上按下以後就會切換分頁,並且當你再次使用Get指令去讀取的時候,新的網頁就被開起在新的分頁內了。

driver.get("www.google.com")

若想再切回原本的分頁就輸入

driver.switch_to.window(driver.window_handles[0])

後面Handles 裡面的數字就是分頁的編號,從0開始編排,第一個分頁就是 0, 第二個分頁就是 1,依此類推。

小結:

透過pyautogui按下 Crtl + T 開啟Selenium web drive的新分頁,再搭配 window_handles [ num ] ,就能組合出更多的可能性。

以上分享給想要使用多重網頁自動化的人來搭配使用。 雖然很簡單,但遇到卡關就知道它的價值。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *