4 多窗口处理

 1 from selenium import webdriver
 2 import selenium
 3 import time
 4 import os
 5 
 6 print("Start Running...................................")
 7 browser=webdriver.Firefox();print('begdin..................................')
 8 browser.get("http://bxd.xtest.tech")  #打开测试地址
 9 browser.maximize_window()#窗口最大化
10 
11 browser.find_element_by_class_name("color1").click();print('打开注册页面')
12 
13 nowhandle=browser.current_window_handle   #获取到当前页面句柄
14 allhandles=browser.window_handles  #获取所有窗口句柄
15 print('allhandles[1]=',allhandles[1])
16 
17 
18 for handle in allhandles:
19     if handle !=nowhandle:
20         #browser.switch_to_window(handle)     ##切换到新页面,以便在当前页面进行控件操作。返回其他页面这个需要继续进行
21         browser.switch_to.window(handle)
22         break
23 
24 browser.find_element_by_name("email").send_keys('13733857173');
25 browser.find_element_by_name("password").send_keys('123456');
26 #browser.find_element_by_class_name("btn-color btn abtn").click()
27 #browser.switch_to_window(allhandles[0])  #切换到第一个页面
28 browser.switch_to.window(allhandles[0])
29 print(browser.title)
30 print(browser.current_url)
31 # time.sleep(30)
32 browser.quit()
33 
34 '''
35 1.switch_to包的方法详解
36 在switch_to的基础上,有这么几个方法,鉴于基本上都是之前曾经讲过的,这次把等价的方法也列出来,供大家参考
37 driver.switch_to.active_element()                  等同于    driver.switch_to_active_element()定位到当前聚焦的元素上
38 driver.switch_to.alert()                           等同于    driver.switch_to_alert()切换到alert弹窗
39 driver.switch_to.default_content()                 等同于    driver.switch_to_default_content()切换到最上层页面
40 driver.switch_to.frame(frame_reference)            等同于    driver.switch_to_frame(frame_reference)通过id、name、element(定位的某个元素)、索引来切换到某个frame
41 driver.switch_to.parent_frame()                             这是switch_to中独有的方法,可以切换到上一层的frame,对于层层嵌套的frame很有用
42 driver.switch_to.window(window_name)               等同于 driver.switch_to_window(window_name)切换到制定的window_name页面
43 注: 官方把selenium.webdriver包中的switch方法全部封装成了一个包,这样能够比较明了和方便,也符合软件编程中的高内聚低耦合的思想。
44 '''

 

posted @ 2019-01-04 14:51  王亚锋  阅读(201)  评论(0)    收藏  举报