Python爬蟲之Selenium多窗口切換的實現(xiàn)
前言:在頁面操作過程中有時候點擊某個鏈接會彈出新的窗口,但由于Selenium的所有操作都是在第一個打開的頁面進行的,這時就需要主機切換到新打開的窗口上進行操作。WebDriver提供了switch_to.window()方法,可以實現(xiàn)在不同的窗口之間切換。 以百度首頁和百度注冊頁為例,在兩個窗口之間的切換。
本章中用到的關鍵方法如下:
- current_window_handle:獲得當前窗口句柄
- window_handles:返回所有窗口的句柄到當前會話
- switch_to.window():用于切換到相應的窗口
跳轉至注冊頁面,然后獲取所有頁面的句柄,并打印各個頁面的title
from selenium import webdriver from selenium.webdriver.common.keys import Keys import time driver = webdriver.Chrome() driver.get("http://www.baidu.com") time.sleep(2) #睡兩秒,看一下效果 driver.find_element_by_link_text('登錄').click() time.sleep(2) #睡兩秒,看一下效果 driver.find_element_by_link_text("立即注冊").click() time.sleep(2) #睡兩秒,看一下效果 # 獲得當前窗口句柄 sreach_windows = driver.current_window_handle # 獲得當前所有打開的窗口的句柄 all_handles = driver.window_handles for handle in all_handles: if handle != sreach_windows: driver.switch_to.window(handle) print(driver.title) else: print('當前頁面title:%s'%driver.title) driver.quit()
Selenium文集傳送門:
標題 | 簡介 |
---|---|
Python爬蟲 - Selenium(1)安裝和簡單使用 | 詳細介紹Selenium的依賴環(huán)境在Windows和Centos7上的安裝及簡單使用 |
Python爬蟲 - Selenium(2)元素定位和WebDriver常用方法 | 詳細介紹定位元素的8種方式并配合點擊和輸入、提交、獲取斷言信息等方法的使用 |
Python爬蟲 - Selenium(3)控制瀏覽器的常用方法 | 詳細介紹自定義瀏覽器窗口大小或全屏、控制瀏覽器后退、前進、刷新瀏覽器等方法的使用 |
Python爬蟲 - Selenium(4)配置啟動項參數(shù) | 詳細介紹Selenium啟動項參數(shù)的配置,其中包括無界面模式、瀏覽器窗口大小設置、瀏覽器User-Agent (請求頭)等等 |
Python爬蟲 - Selenium(5)鼠標事件 | 詳細介紹鼠標右擊、雙擊、拖動、鼠標懸停等方法的使用 |
Python爬蟲 - Selenium(6)鍵盤事件 | 詳細介紹鍵盤的操作,幾乎包含所有常用按鍵以及組合鍵 |
Python爬蟲 - Selenium(7)多窗口切換 | 詳細介紹Selenium是如何實現(xiàn)在不同的窗口之間自由切換 |
Python爬蟲 - Selenium(8)frame/iframe表單嵌套頁面 | 詳細介紹如何從當前定位的主體切換為frame/iframe表單的內嵌頁面中 |
Python爬蟲 - Selenium(9)警告框(彈窗)處理 | 詳細介紹如何定位并處理多類警告彈窗 |
Python爬蟲 - Selenium(10)下拉框處理 | 詳細介紹如何靈活的定位并處理下拉框 |
Python爬蟲 - Selenium(11)文件上傳 | 詳細介紹如何優(yōu)雅的通過send_keys()指定文件進行上傳 |
Python爬蟲 - Selenium(12)獲取登錄Cookies,并添加Cookies自動登錄 | 詳細介紹如何獲取Cookies和使用Cookies進行自動登錄 |
Python爬蟲 - Selenium(13)設置元素等待 | 詳細介紹如何優(yōu)雅的設置元素等待時間,防止程序運行過快而導致元素定位失敗 |
Python爬蟲 - Selenium(14)窗口截圖 | 詳細介紹如何使用窗口截圖 |
Python爬蟲 - Selenium(15)關閉瀏覽器 | 詳細介紹兩種關閉窗口的區(qū)別 |
到此這篇關于Python爬蟲之Selenium多窗口切換的實現(xiàn)的文章就介紹到這了,更多相關Selenium多窗口切換內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python程序實現(xiàn)BTC(比特幣)挖礦的完整代碼
這篇文章主要介紹了python程序實現(xiàn)BTC(比特幣)挖礦的完整代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01python+pygame實現(xiàn)簡易五子棋小游戲的三種方式
這篇文章主要介紹了使用python實現(xiàn)簡易五子棋小游戲,文中提供了三種實現(xiàn)方式,解決思路和部分實現(xiàn)代碼,感興趣的朋友可以參考下2023-03-03對Python進行數(shù)據(jù)分析_關于Package的安裝問題
下面小編就為大家?guī)硪黄獙ython進行數(shù)據(jù)分析_關于Package的安裝問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05升級Python版本后anaconda navigator啟動失敗解決方案(最新推薦)
anaconda navigator啟動失敗,尤其是重裝不解決問題的,大概率是庫沖突,解決方法也很簡單,只需要刪掉引起沖突的庫,感興趣的朋友跟隨小編一起看看吧2023-11-11