场景

有时候我们在测试一个web 应用时会出现多个浏览器窗口的情况,在selenium1.0 中这个问题比较难处理。webdriver 提供了相关相方法可以很轻松的在多个窗口之间切换并操作不同窗口上的元素

代码

#!/usr/bin/env python

# -*- codinfg:utf-8 -*-

'''

@author: Jeff LEE

@file: 多窗口处理.py

@time: 2018-09-25 10:57

@desc:

'''

from selenium import webdriver

import time

driver = webdriver.Firefox()

driver.get('https://www.baidu.com/')

driver.find_element_by_id("kw").clear()

driver.find_element_by_id("kw").send_keys("uniquefu")

driver.find_element_by_id("su").click()

time.sleep(5)

#获得当前窗口

nowhandle=driver.current_window_handle

# driver.find_element_by_xpath(".//*[@id='2']/h3/a").click()

driver.find_element_by_xpath(".//div[@id='2']/h3/a").click()

time.sleep(10)

#获取所有窗口

allhandles = driver.window_handles

time.sleep(5)

#循环判断窗口是否为当前窗口

for handle in allhandles:

if handle !=nowhandle:

driver.switch_to_window(handle)

print(driver.title)

time.sleep(5)

#切换到窗口接操作元素

driver.switch_to_window(nowhandle)

print(driver.title)

time.sleep(5)

driver.find_element_by_id("kw").clear()

driver.find_element_by_id("kw").send_keys("selenium")

driver.find_element_by_id("su").click()

time.sleep(5)

if driver.title.startswith('selenium'):

print('窗口切换及元素操作成功')

else:

print('窗口切换及元素操作失败')

driver.quit()

运行结果:

2018年8月20日 随笔档案 - uniquefu - 博客园

uniquefu_百度搜索

窗口切换及元素操作成功

python页面切换_Python+Selenium学习--窗口切换及操作元素相关推荐

  1. python3 + selenium 之窗口切换

    窗口切换 此代码来源学习后对淘宝操作实践记录: 以下代码在Chrome61和IE11上正常运行,Firefox5.7上运行存在一些问题须改进,应该是火狐不兼容差link_text部分和循环经常报错,在 ...

  2. python获取窗口句柄_Python+selenium 获取浏览器窗口坐标、句柄的方法

    1.0 获取浏览器窗口坐标 python目录可找到Webdriver.py 文件定义了get_window_rect()函数,可获取窗口的坐标和大小(长宽),但出现"Command not ...

  3. python自动化测试登录_Python selenium自动化测试框架入门实战--登录测试案例

    本文为Python自动化测试框架基础入门篇,主要帮助会写基本selenium测试代码又没有规划的同仁. 本文应用到POM模型.selenium.unittest框架.configparser配置文件. ...

  4. python对浏览器的常用操作_python+selenium(4)--浏览器操作的基本方法

    关于自动化测试其实很多时候都是为了节省时间做一些大批量的复用性工作,在正式学习自动化脚本编写之前,这里引用陈建忠老师的博客内容,希望大家能了解一下关于什么是自动化的知识,在日后做自动化测试的过程中会根 ...

  5. python写界面输入测试脚本_python+Selenium自动化测试——输入,点击操作

    这是我的第一个真正意思上的自动化脚本. 1.练习的测试用例为: 打开百度首页,搜索"胡歌",然后检索列表,有无"胡歌的新浪微博"这个链接 2.在写脚本之前,需要 ...

  6. python教程点击器_python+Selenium自动化测试——输入,点击操作

    这是我的第一个真正意思上的自动化脚本. 1.练习的测试用例为: 打开百度首页,搜索"胡歌",然后检索列表,有无"胡歌的新浪微博"这个链接 2.在写脚本之前,需要 ...

  7. selenium学习-----tag name定位一组元素

    webdriver中有8中定位方法是针对单个元素定位的,同时也提供了8种用于定位一组元素的方法,单个元素定位和一组元素定位的其区别就在于多了s,有某有发现,来个复数就可以表示组了~~~~~~下边就罗列 ...

  8. Selenium2学习(八)-- 操作元素(键盘和鼠标事件)

    前言 在前面的几篇中重点介绍了一些元素的到位方法,到位到元素后,接下来就是需要操作元素了.本篇总结了web页面常用的一些操作元素方法,可以统称为行为事件 有些web界面的选项菜单需要鼠标悬停在某个元素 ...

  9. android学习笔记---56_activity切换动画与页面切换动画,自定义activity窗口切换动画效果的实现.

    2013/5/17 Java技术qq交流群:JavaDream:251572072 56_activity切换动画与页面切换动画 ----------------------------------- ...

最新文章

  1. Windows中文件夹与linux中目录的区别
  2. Magento中如何在模块中使用多张数据表并配置多个model?
  3. 新冠研究数据哪里找?科研工作者必看(附链接)
  4. Spark Troubleshooting - Task not serializable问题分析
  5. og-bin=mysql-bin_init_connect + binlog 记录 mysql 操作日志
  6. 手机安全卫士——进程管理
  7. vue设置点击电话跳转到手机拨打电话的界面
  8. Exchange server 2003迁移到2010后,手动更新地址列表,提示OAB Versions无效
  9. REVERSE-COMPETITION-NEPCTF
  10. AAA验证和ciscorescue v4.2 验证服务器的搭建(telnet方式和级别的设置)
  11. 一文解析Apache Avro数据
  12. ASTC图片纹理压缩探讨
  13. HONOR Magicbook 进不了系统
  14. 代码对比工具(beyondCompare/Winmerge/Meld)
  15. 布兰迪斯大学计算机美国大学排名,布兰迪斯大学排名多少 美国和世界排名介绍...
  16. Android状态栏下拉处理
  17. PPP再迎风口 相关概念股表现格外抢眼
  18. 快来直播:“东方甄选”火爆影射直播新趋势——为知识买单
  19. 你才二十四岁,为何面容憔悴?
  20. 用imu_tk和imu_utils标定imu

热门文章

  1. java 能重写构成函数_java函数重载和函数重写
  2. 电脑上的linux是什么文件夹,linux删除文件夹,详细教您电脑的linux怎么样删除文件夹...
  3. vc++ 提取网页上的文字_用奢悦vc一般多久能反黑
  4. android html footer 固定,前端小技巧之footer固定
  5. java怎样输出一个文件夹,java合并一个文件夹下所有txt文件,输出到另一个txt,...
  6. 配置syslog发送_Citrix ADC Syslog配置推荐
  7. 【GDSOI2019】滑稽二乘法【数据结构】【LCT】
  8. 面试题——栈的压入、弹出顺序
  9. 急急急 大神帮忙给个思路和步骤吧 万分感谢
  10. 阻塞与非阻塞、同步与异步 I/O模型