在网页中有些跳转不在当前窗口打开,而是重新打开一个窗口,针对这种情况我们该怎么处理呢?接下来给大家介绍多窗口切换。
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 国际许可协议