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. winfrom cahce 问题

    .Clear()不能随便用 .Clear()的比较没有什么意思,因为只是把DataTable清空而已,在堆中任然分配内存,一般要比较也是比较Close()方法,不过DataTable没有这个方法 至于 ...

  2. Python-常用库扩展

    图片处理: PIL HTTP请求模拟: requests

  3. input-form-select-a-img-ul-dl标签

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  4. jq的form验证

    jQuery(document).ready(function(){ $('#cform img.contact-loader').hide(); $('#cform').submit(functio ...

  5. 解决在开发环境中访问json配置文件时报HTTP 错误 404.3 - Not Found

    问题描述: 在做demo时,使用json文件做配置文件,访问时,http状态提示:404.3错误,经验证json确认存在,路径也没有问题, 在浏览器地址栏里直接访问json时也提示同样的错误, 根据错 ...

  6. 将XML格式的字符串封装成DOM对象

    在java端将字符串转化为xml对象可以使用DocumentHelper.parseText(xmlReturn).getRootElement(); 在js中同样有方法可以将字符串转化为xml对象, ...

  7. openstack neutron L3 HA

    作者:Liping Mao  发表于:2014-08-20 版权声明:能够随意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 近期Assaf Muller写了一篇关于Neutro ...

  8. 用Jquery控制文本框只能输入数字和字母及jquery自定义方法$.fn

    封装成onlyNum(),onlyAlpha()和onlyNumAlpha()3个Jquery扩展方法,方便复用,由于里面一些JS代码涉及到了"禁用输入法,获取剪切板的内容",而& ...

  9. Django项目国际化

    Django项目国际化 实验环境: py3.4.3 + django1.8.2 + Windows 项目设置 >django-admin startproject I18nDjango > ...

  10. God web

    http://my.csdn.net/yerenyuan_pku http://evilcos.me/?p=336 https://www.zhihu.com/question/21606800 st ...