selenium之handle学习 多窗口、句柄

时间:2023-11-24 23:30:56

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

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

 # coding:utf-8
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Firefox()
driver.get("http://www.baidu.com ")
driver.implicitly_wait(10)
#搜索 松勤软件测试
driver.find_element_by_id("kw").send_keys(u"松勤软件测试")
driver.find_element_by_id("kw").submit() #第一种
#driver.find_element_by_xpath("//em[contains(.,'松勤软件测试')]").click()
#第二种
driver.find_element_by_xpath(".//*[@id='1']/h3/a/em").click()
#等待5秒
driver.implicitly_wait(30)
all_handle = driver.window_handles
#打印当前所有句柄
print all_handle
#切换到松勤软件测试的句柄
driver.switch_to.window(all_handle[1])
#打印当前title
print driver.title #点击腾讯课堂按钮
#driver.find_element_by_xpath(u"//span[contains(text(),'腾讯课堂')]/parent::a").click()
driver.find_element_by_xpath(u"//span[contains(text(),'腾讯课堂')]/parent::a").click()
print driver.title

selenium之handle学习 多窗口、句柄