selenium 提供了切换窗口以及浏览器的一些操做,方便用户对窗口的操控python
浏览器:web
driver.back() 回退 driver.forward() 前进 driver.refresh() 刷新 driver.close() 关闭一个窗口 driver.quit() 关闭全部窗口
窗口的句柄浏览器
driver.current_window_handle 获取窗口当前句柄 driver.window_handles 获取当前全部窗口的句柄 driver.switch_to_window(handle) 切换到句柄为handle的窗口
窗口切换函数函数
switch_window两窗口之间切换,须要记录now这个句柄,以方便切换,适用于两个窗口测试
def switch_window(driver, now): all_handles = driver.window_handles #获得当前开启的全部窗口的句柄 for handle in all_handles: if handle != now: #获取到与当前窗口不同的窗口 driver.switch_to_window(handle) #切换
switch_window_by_title经过窗口的title进行切换,切换到为该title的窗口,适用于多窗口ui
def switch_window(self,windowname): all_handles = self.driver.window_handles for handle in all_handles: driver.switch_to.window(handle) #切换到该句柄 if driver.title == windowname: #若是该窗口的title是windowname driver.switch_to.window(handle) #切换 break #跳出循环,若是不是windowname,则继续循环
browser.pycode
#coding:utf-8 #!/usr/bin/env python from selenium import webdriver from time import sleep driver = webdriver.Firefox() driver.get("http://www.baidu.com") driver.find_element_by_id("kw").send_keys("hello") driver.find_element_by_id("su").click() sleep(3) driver.refresh() sleep(5) driver.back() sleep(5) driver.forward() sleep(5) driver.close()
该程序实现从百度搜索"hello",转到hello页面,而后再退回到baidu首页,再前进到hello搜索页utf-8
参考:element
《Selenium2自动化测试实战》get
《selenium python buildings release 2》