有时候我们在测试一个web应用的时候会出现多个浏览器窗口的情况,
webdriver提供了相应的解决方案,如下:
首先要获得每一个窗口的唯一表示符号(句柄),通过获得的句柄来区分不同的窗口,从而对不同窗口的元素进行操作。
举例:
current_handle=driver.current_window_handle #获得当前窗口的句柄
driver.find_element(By.LINK_TEXT,"另一个页面").click()
time.sleep(3)
handle_list=driver.window_handles #获得所有窗口的句柄
for h in handle_list:
if h!=current_handle:
driver.switch_to.window(h) #通过句柄跳转窗口
#回到前面的页面
# driver.close() #关闭新打开的窗口
driver.switch_to.window(current_handle)