selenium之handle学习 多窗口、句柄

我们拿松勤软件测试的网站做例子:

直接获取all_handle这个list数据里面第二个handle的值:all_handle[1]

 1 # coding:utf-8
 2 from selenium import webdriver
 3 from selenium.webdriver.common.keys import Keys
 4 import time
 5 driver = webdriver.Firefox()
 6 driver.get("http://www.baidu.com ")
 7 driver.implicitly_wait(10)
 8 #搜索 松勤软件测试
 9 driver.find_element_by_id("kw").send_keys(u"松勤软件测试")
10 driver.find_element_by_id("kw").submit()
11 
12 #第一种
13 #driver.find_element_by_xpath("//em[contains(.,'松勤软件测试')]").click()
14 #第二种
15 driver.find_element_by_xpath(".//*[@id='1']/h3/a/em").click()
16 #等待5秒
17 driver.implicitly_wait(30)
18 all_handle = driver.window_handles
19 #打印当前所有句柄
20 print all_handle
21 #切换到松勤软件测试的句柄
22 driver.switch_to.window(all_handle[1])
23 #打印当前title
24 print driver.title
25 
26 #点击腾讯课堂按钮
27 #driver.find_element_by_xpath(u"//span[contains(text(),'腾讯课堂')]/parent::a").click()
28 driver.find_element_by_xpath(u"//span[contains(text(),'腾讯课堂')]/parent::a").click()
29 print driver.title

原文地址:https://www.cnblogs.com/lxs1314/p/7159941.html