python之selenium多窗口切換


前提:

在頁面操作過程中有時候點擊某個鏈接會彈出新的窗口,這就需要主機切換到新打開的窗口上。WebDriver提供了switch_to.window()方法,可以實現在不同的窗口之間切換。 

內容:

以百度為例,在兩個窗口之間的切換:

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get("http://www.baidu.com")

# 獲得百度搜索窗口
sreach_windows = driver.current_window_handle

driver.find_element_by_link_text('登錄').click()
driver.find_element_by_link_text("立即注冊").click()

# 獲得當前所有打開的窗口的句柄
all_handles = driver.window_handles

# 進入注冊窗口
for handle in all_handles:
    if handle != sreach_windows:
        driver.switch_to.window(handle)
        print('now register window!')
        driver.find_element_by_name("account").send_keys('username')
        driver.find_element_by_name('password').send_keys('password')
        time.sleep(2)
  
driver.quit()

就是先保存當前的窗口tag,然后在保持后面打開的窗口,進行循環,去跳到想要的窗口。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM