博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
selenium webdriver (5)--窗口切换
阅读量:7216 次
发布时间:2019-06-29

本文共 1704 字,大约阅读时间需要 5 分钟。

  hot3.png

selenium 提供了切换窗口以及浏览器的一些操作,方便用户对窗口的操控

浏览器:

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的窗口,适用于多窗口

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.py

#coding:utf-8#!/usr/bin/env pythonfrom selenium import webdriverfrom time import sleepdriver = 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搜索页

参考:

《Selenium2自动化测试实战》

《selenium python buildings release 2》

转载于:https://my.oschina.net/hding/blog/725107

你可能感兴趣的文章
积累_前辈的推荐
查看>>
strcpy和memcpy的区别《转载》
查看>>
在windows平台下electron-builder实现前端程序的打包与自动更新
查看>>
DroidPilot V2.1 手写功能特别版
查看>>
COOKIE欺骗
查看>>
js 强转规范解读
查看>>
ACdream - 1735:输油管道
查看>>
golang 获取get参数
查看>>
服务器状态码
查看>>
非小型电子商务系统设计经验分享
查看>>
Video Target Tracking Based on Online Learning—深度学习在目标跟踪中的应用
查看>>
深度学习理论解释基础
查看>>
遗传算法
查看>>
将web网站移动化
查看>>
Application-Session-Cookie
查看>>
Perl的多进程框架(watcher-worker)
查看>>
phpMyAdmin 后台拿webshell
查看>>
Linux 关机 休眠, 关闭移动设备自动挂载 命令
查看>>
Html唤起手机APP,如果有就唤起,如果没有就跳到下载页。
查看>>
Java中File类如何扫描磁盘所有文件包括子目录及子目录文件
查看>>