selenium webdriver (5)--窗口切换

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》

相关文章
相关标签/搜索