多窗口切换

多窗口切换

思路:获取要切换的窗口句柄,调用切换方法进行切换。

方法:

driver.current_window_handle #获取当前主窗口句柄 driver.window_handles #获取当前由driver启动所有窗口句柄 driver.switch_to.window(handle) #切换窗口 步骤:

获取当前窗口句柄 点击链接,启动另一个窗口 获取当前所有窗口句柄 切换窗口操作

 

1 handles=driver.window_handles  #获取当前窗口所有的句柄
2 driver.switch_to.window(handles[索引位置]) #切换到新窗口的句柄,从0开始,第一个窗口就是0,第二个(新)窗口就是1,以此类推
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.action_chains import ActionChains

# 获取浏览器对象
driver = webdriver.Chrome()
driver.implicitly_wait(5)
driver.maximize_window()
# 获取网络链接
url = "https://www.taobao.com/"
driver.get(url)
handle_1=driver.current_window_handle
# 实例化并获取ActionChains类
action = ActionChains(driver)
# 定位登录元素 点击
login_el = driver.find_element_by_css_selector(".h").click()

#定位忘记密码元素 点击
rset_pwd_el = driver.find_element_by_css_selector(".forgot-password-a-link").click()

#切换窗口
handles=driver.window_handles
driver.switch_to.window(handles[1])
handle_2=driver.current_window_handle

if handle_1==handle_2:
    print("窗口未切换成功")
else:
    pass
print(driver.current_url)

driver.quit()

 

 

posted @ 2022-03-08 17:38  饭兜  阅读(140)  评论(0编辑  收藏  举报