切換瀏覽器窗口的幾種方法


第一種方法:

使用場景: 打開多個窗口,需要定位到新打開的窗口

使用方法:

# 獲取打開的多個窗口句柄
windows = driver.window_handles
# 切換到當前最新打開的窗口
driver.switch_to.window(windows[-1])

 

第二種方法:

# 獲得打開的第一個窗口句柄
window_1 = driver.current_window_handle
# 獲得打開的所有的窗口句柄
windows = driver.window_handles
# 切換到最新的窗口
for current_window in windows:
 if current_window != window_1:
  driver.switch_to.window(current_window)

 

1、第一種方法比較簡單,能提升整體代碼的性能

2、第二種方法是大家最常用的方法,比較容易理解

使用js切換窗口

from selenium import webdriver
import time
#設置變量
url="http://www.baidu.com"
#打開瀏覽器
br=webdriver.Chrome()
br.maximize_window()
#打開百度
br.get(urla)

#通過JS打開新窗口
js='window.open("https://blog.csdn.net");'
br.execute_script(js)
time.sleep(3)

#獲取當前句柄(百度)
handlea=br.current_window_handle

#獲取所有句柄
handles=br.window_handles
print(handles)

#獲取csdn句柄
for handle in handles:
    if handle != handlea:
        handleb = handle

# 輸出CSDN句柄
print('switch to ', handleb)
br.switch_to.window(handleb)
time.sleep(3)
#關閉CSDN界面 
br.close()

# 切換回百度窗口
print('switch Baidu ',handlea)
br.switch_to.window(handlea)
time.sleep(3)
#關閉瀏覽器
br.quit()

 


免責聲明!

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



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