通过名称识别和处理弹出窗口

 1 # -*- coding:utf-8 -*-
 2 """
 3 switch_to_window():接受 name 和  handle 属性
 4 name 属性和它的 title 是不一样的
 5 如下例子中的 name 为: HelpWindow
 6 <html>
 7     <head>
 8         <title>help</title>
 9     </head>
10     <body>
11         <button id="helpbutton1" onclick="window.open("PopUpWindow.html","HelpWindow","width=500,height=500");">Help1</button>
12         <button id="helpbutton2" onclick="window.open("PopUpWindow.html","HelpWindow","width=500,height=500");">Help2</button>
13     </body>
14 </html>
15 """
16 from selenium import webdriver
17 
18 driver = webdriver.Firefox()
19 driver.get(r'F:\电子书\selenium\Selenium Testing Tools Cookbook(中文)\demo\window.html')
20 
21 #父窗口句柄
22 parentWindowId = driver.current_window_handle
23 
24 driver.find_element_by_id('helpbutton1').click()
25 
26 #转到 HelpWindow窗口
27 driver.switch_to_window('HelpWindow')
28 
29 print driver.title
30 
31 assert 'PopUpWwindow', driver.find_element_by_tag_name('p').text
32 
33 #关闭子窗口
34 driver.close()
35 
36 #回到父窗口
37 driver.switch_to_window(parentWindowId)
38 
39 #验证父窗口的title
40 assert True, driver.title == 'help'
41 
42 driver.close()

 

posted @ 2013-07-07 15:30  Roger|  阅读(218)  评论(0编辑  收藏  举报