介紹:
本文將介紹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 ] ,就能組合出更多的可能性。
以上分享給想要使用多重網頁自動化的人來搭配使用。 雖然很簡單,但遇到卡關就知道它的價值。