Python+webdriver自动化脚本初学记录之窗口切换(3)
脚本过程:打开www.baidu.com点击hao123进入hao123页面(注意:并未出现新窗口),在hao123页面分别点击“头条新闻”,“人民网”,“新华网”,“央视网”,将会依次打开4个窗口,浏览器中一共有5个窗口,获取所有窗口句柄(使用driver.window_handles),然后使用driver.switch_to.window(handles[x])依次切换到每个窗口并打印窗口标题(页面标签),打印页面标签使用print(driver.title)。
如果打开多个浏览器窗口,即存在多个句柄,那么窗口和句柄对应关系如下:
例如:浏览器窗口打开顺序从左到右为:1,2,3,4,5 对应的句柄顺序为:0,4,3,2,1
driver.switch_to.window(handles[0]):切换到第1个窗口句柄(从左到右数第1个窗口,主页面)
driver.switch_to.window(handles[4]):切换到第2个窗口句柄(从左到右数第2个窗口)
driver.switch_to.window(handles[3]):切换到第3个窗口句柄(从左到右数第3个窗口)
driver.switch_to.window(handles[2]):切换到第4个窗口句柄(从左到右数第4个窗口)
driver.switch_to.window(handles[1]):切换到第5个窗口句柄(从左到右数第5个窗口)
说明:也可以这样理解,浏览器窗口打开顺序0,1,2,3,4 对应句柄顺序为0,4,3,2,1
driver.switch_to.window(handles[0]):切换到第0个窗口句柄(从左到右数第0个窗口,主页面)
driver.switch_to.window(handles[4]):切换到第1个窗口句柄(从左到右数第1个窗口)
driver.switch_to.window(handles[3]):切换到第2个窗口句柄(从左到右数第2个窗口)
driver.switch_to.window(handles[2]):切换到第3个窗口句柄(从左到右数第3个窗口)
driver.switch_to.window(handles[1]):切换到第4个窗口句柄(从左到右数第4个窗口)