Python_selenium之窗口切换

1. 运用switch_to.window()方法来进行窗口切换

2. 思路拆分:

  1. 浏览器获取百度贴吧网址
  2. 点击定位到一个元素,获取当前的句柄
  3. 获得所有的句柄信息
  4. 用for语句进行遍历,若没有找到,则关闭之前打开的窗口并且切换窗口

3. 测试脚本如下:

#coding:utf-8

from selenium import webdriver

driver=webdriver.Chrome()

driver.maximize_window()

driver.implicitly_wait(8)

driver.get("http://news.baidu.com/")

driver.find_element_by_xpath("//*[@id='pane-news']/div/ul/li/strong/a[contains(text(),'牢记使命 永远做草原上的“红色文艺轻骑兵”')]").click()

print driver.current_window_handle #输出当前窗口句柄

handles=driver.window_handles #输出当前所有句柄

print handles

for handle in handles:

if handle != driver.current_window_handle:

print "switch to second window",handle

driver.close()

driver.switch_to.window(handle)

4. 上述运用的是谷歌浏览器进行测试的,但是我运用火狐浏览器时,窗口并没有关闭

Python_selenium之窗口切换的更多相关文章

  1. Python_selenium之窗口切换(二)

    Python_selenium之窗口切换(二)一.思路拆分1. 之前有介绍窗口切换,这里加上断言部分2. 这里还是以百度新闻为例,获取百度新闻网址http://news.baidu.com/3. 同样 ...

  2. Qt界面编程之多窗口切换

    1.基础知识 信号和槽 信号和槽都是函数,用来完成信号间的协同操作 2.多窗口切换实例       功能 实现登录和重新登录功能 组成 登录界面 和主窗体界面 3.源代码提供  

  3. selenium测试(Java)--多窗口切换(十三)

    selenium测试(Java)--多窗口切换(十三) 如果遇到点击按钮或链接后出现新窗口的情况,就需要使用窗口切换的方法. 本例中就是先打开百度搜索界面,然后利用js打开一个百度新闻界面,然后通过s ...

  4. eclipse中的窗口切换快捷键

    Ctrl+Shift+F6 很简单,如果以后改用IDEA的话就没用了,但这个窗口切换确实很复杂,看起来也操作比较快.

  5. selenium多个窗口切换

    浏览器里面支持多窗口打开,例如这样: html里面写了: target="_blank" 造成新打开一个窗口,但是selenium不会自动跳转到新的串口,需要自己切换: # 你打开 ...

  6. 在C#里实现各种窗口切换特效,多达13种特效

    原文:http://www.cnblogs.com/clayui/archive/2011/06/28/2092126.html 预览:   下载 这次clayui给大家带来了比较实用的东西,因为时间 ...

  7. Selenium_WebDriver_多窗口切换

    摘要: 版权声明:本文为博主原创文章,转载请注明出处. 在页面操作过程中有时候点击某个链接会弹出新的窗口,这时我们如果需要操作新打开的页面,就需要将主机切换到新打开的窗口上再进行操作,比如博客园精华页 ...

  8. Python3+Selenium2完整的自动化测试实现之旅(四):Selenium-webdriver操作浏览器、Cookie、鼠标键盘、警示框、设置等待时间、多窗口切换

    本篇学习总结webdriver模块操作浏览器.Cookie.鼠标键盘.警示框.设置等待时间.多窗口切换等方法的使用 1    浏览器控制 Selenium-webdriverAPI提供了对页面元素定位 ...

  9. Selenium 3----定位一组元素+多表单切换+多窗口切换

    定位一组元素 和定位单个元素类似,WebDriver提供了8种用于定位一组元素的方法.定位一组元素的方法与定位单个元素的方法类似,唯一的区别是在单词element后面多了一个s表示复数. find_e ...

随机推荐

  1. recess----1.第一个APP-helloRecess

    选择recess的理由很简单,这个架构看起来很轻量级,很简单.至少是写起应用来感觉不需要考虑太多和架构相关的东西.没有按作者给的过程一步步来,折腾了好久...在这里记录一下. 安装过程略,官网文档无压 ...

  2. STL源码剖析(deque)

    deque是一个双向开口的容器,在头尾两端进行元素的插入跟删除操作都有理想的时间复杂度. deque使用的是分段连续线性空间,它维护一个指针数组(T** map),其中每个指针指向一块连续线性空间. ...

  3. 基于shiro+jwt的真正rest url权限管理,前后端分离

    代码地址如下:http://www.demodashi.com/demo/13277.html bootshiro & usthe bootshiro是基于springboot+shiro+j ...

  4. 学会Git玩转Github笔记(二)——Git使用

    一.Git基本工作流程 Git工作区域 向仓库中添加文件流程 二. Git初始化及仓库创建和操作 基本信息设置 . 设置用户名 git config --global user.name 'itcas ...

  5. input text 去掉标签下拉提示autocomplete

    autocomplete 属性 autocomplete 属性规定输入字段是否应该启用自动完成功能. 自动完成允许浏览器预测对字段的输入.当用户在字段开始键入时,浏览器基于之前键入过的值,应该显示出在 ...

  6. jquery easyUi columns日期格式化

    jquery easyUi  columns日期格式化 方法一 Date.prototype.format = function (format) { var o = { "M+" ...

  7. REP-20147 Cannot implement column link for this detail SQL query. Converting to group link.

    注:本文为原创,作为学习交流使用,转载请标明作者及出处,作者保留追究法律责任的权力. Lumen Su lzsu1989#gmail.com (#=@) www.cnblogs.com/lzsu198 ...

  8. jquery遍历总结(转)

    遍历 DOM jQuery 提供了多种遍历 DOM 的方法. 遍历方法中最大的种类是树遍历(tree-traversal). 下一章会讲解如何在 DOM 树中向上.下以及同级移动. 向上遍历 DOM ...

  9. python访问纯真IP数据库的代码

    通过IP地址判断客户端是网通的还是电信的. 使用一个纯文本的IP纯真数据库,用Python写了一个小程序. 核心代码: #!/usr/bin/env python #site www.jbxue.co ...

  10. 动态添加定时任务-quartz定时器

    Quartz动态添加.修改和删除定时任务 在项目中有一个需求,需要灵活配置调度任务时间,刚开始用的Java自带的java.util.Timer类,通过调度一个java.util.TimerTask任务 ...