在网页中有些跳转不在当前窗口打开,而是重新打开一个窗口,针对这种情况我们该怎么处理呢?接下来给大家介绍多窗口切换。

API语法

1.根据窗口handle句柄切换窗口

ele1 = driver.window_handles

driver.switch_to.window(ele1[索引值])

代码实例

进入咪咕阅读首页http://www.cmread.com/u/index,点击底栏“关于我们”会打开一个新窗口,代码如下:

#author:命命
from selenium import webdriver 
driver = webdriver.Chrome() 
driver.maximize_window() 
driver.get("http://www.cmread.com/u/index") 
#获取首页的句柄 
handle1 = driver.current_window_handle 
print(handle1) 
#点击“关于我们” 
driver.find_element_by_link_text("关于我们").click() 
#获取两个窗口的句柄 
all_handles = driver.window_handles 
print(all_handles) 
#根据句柄切换至最后一个窗口(关于我们窗口) 
driver.switch_to.window(all_handles[-1]) 
#验证是否成功切换至关于我们窗口 
window2_text = driver.find_element_by_css_selector("h2[class='left pl9']").text 
print(window2_text) 
#根据句柄切换至第一个窗口(首页) 
driver.switch_to.window(all_handles[0]) 
#验证是否成功切换至首页 
window1_text = driver.find_element_by_link_text("登录").text 
print(window1_text) 
driver.quit()

版权声明:如无特殊说明,文章均为本站原创,转载请注明出处

本文链接:http://zhangyanc.club/subject/article/selenium-handles/

许可协议:署名-非商业性使用 4.0 国际许可协议