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:/
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 '''