Python3+Selenium(五)JS打开新窗口、多窗口切换

命题

多窗口进行切换

思路

  • 打开百度
  • 打开CSDN博客(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()

你可能感兴趣的:(Python3+Selenium(五)JS打开新窗口、多窗口切换)