python自动化脚本初学记录之窗口切换(3)

脚本过程:打开www.baidu.com点击hao123进入hao123页面(注意:并未出现新窗口),在hao123页面分别点击“头条新闻”,“人民网”,“新华网”,“央视网”,将会依次打开4个窗口,浏览器中一共有5个窗口,获取所有窗口句柄(使用driver.window_handles),然后使用driver.switch_to.window(handles[x])依次切换到每个窗口并打印窗口标题(页面标签),打印页面标签使用print(driver.title)。

如果打开多个浏览器窗口,即存在多个句柄,那么窗口和句柄对应关系如下:
例如:浏览器窗口打开顺序从左到右为:1,2,3,4,5  对应的句柄顺序为:0,4,3,2,1
driver.switch_to.window(handles[0]):切换到第1个窗口句柄(从左到右数第1个窗口,主页面)
driver.switch_to.window(handles[4]):切换到第2个窗口句柄(从左到右数第2个窗口)
driver.switch_to.window(handles[3]):切换到第3个窗口句柄(从左到右数第3个窗口)
driver.switch_to.window(handles[2]):切换到第4个窗口句柄(从左到右数第4个窗口)
driver.switch_to.window(handles[1]):切换到第5个窗口句柄(从左到右数第5个窗口)

说明:也可以这样理解,浏览器窗口打开顺序0,1,2,3,4   对应句柄顺序为0,4,3,2,1

driver.switch_to.window(handles[0]):切换到第0个窗口句柄(从左到右数第0个窗口,主页面)
driver.switch_to.window(handles[4]):切换到第1个窗口句柄(从左到右数第1个窗口)
driver.switch_to.window(handles[3]):切换到第2个窗口句柄(从左到右数第2个窗口)
driver.switch_to.window(handles[2]):切换到第3个窗口句柄(从左到右数第3个窗口)
driver.switch_to.window(handles[1]):切换到第4个窗口句柄(从左到右数第4个窗口)

原文地址:https://www.cnblogs.com/yaoze2018/p/9866141.html

时间: 2024-11-12 03:03:20

python自动化脚本初学记录之窗口切换(3)的相关文章

python自动化脚本初学记录之句柄切换(1)

该脚本过程是打开百度网站,在输入框中输入"腾讯首页"并百度,在百度结果中点击腾讯首页进入腾讯网站窗口,在腾讯网站中点击NBA进入NBA窗口 #coding = utf-8from selenium import webdriverimport timedriver = webdriver.Chrome()driver.maximize_window()time.sleep(3)driver.get('http://www.baidu.com/')time.sleep(3)driver.

Selenium2+python自动化71-多个浏览器之间的切换【转载】

前言 有时候一些业务的功能涉及到多个系统,需要在web系统1打开造一些数据,然后用到某些参数是动态生成的,需要调用web系统2里面的参数. 举个简单例子:在做某些业务的时候,需要手机短信验证码,我不可能去搞个手机连着电脑吧,那样太傻,我们的目的是获取短信验证码,短信验证码都有短信平台去查询. 当然能直接操作数据库最简单了,用python连数据库直接通过sql去查就行. 一.启动两个driver 1.如果我想启动2个火狐,一个火狐打开百度,另外一个火狐打开博客园,我们只需用2个实例driver去控

selenium环境搭建-python自动化脚本测试

站在朋友的肩膀上学习!!! 前提:python环境已经搭建完成 1.安装selenium 命令行输入"pip install selenium"一键式安装 2.检查Selenium是否安装成功 使用命令"pip show selenium"可以看到当前系统中安装的版本信息 3.安装成功,可运行python脚本 期望达到:打开Firefox浏览器,输入百度的网址,打开百度界面,在百度搜索框中输入"Selenium2"关键字,然后点"百度一

使用IDEA工具编写Python自动化脚本遇到的小问题

1.无法编写代码:因为安装了IdeaVim,所以需要按i进入编辑模式才能输入 2.位于同一目录下的py文件,其中一个文件需要引入另一个文件from 模块名 import * 无法找到模块名:点击这两个文件上的文件夹,右键----点击Mark Directory as-----Sources Root 3.在学习TestSuite时候,将结果写到html中时遇到的问题: ①无法引入HTMLTestRunner:到官网下载,另存到你所写的项目的目录或者父目录下,其中要注意版本问题,Python2和P

Python 自动化脚本学习(二)

流程控制 布尔值 temp = True temp = False 比较符号 == != < <= > >= 与或非 and or not 混合布尔的比较 (4<5)and (5<6) 流程控制元素 条件语句 if else 代码块 程序执行 流程描述 if else if name= John: print("my name is John"); esle: print("my name is not John"); elif(

appium+python自动化脚本

用pycharm,首先得把appium导入,操作如下(否则,运行程序后会报错,没有module appium) Settings->Project Interpreter,双击pip,搜索appium-Python-Client并安装 原文地址:https://www.cnblogs.com/testdora/p/9241197.html

selenium2.0+java窗口切换函数

最近使用selenium+java的时候需要使用窗口切换,网上找了下,比较简单,为以后学习记录下来 //窗口切换函数 public void windowsFocus() { String currentWindow = driver.getWindowHandle();//获取当前窗口句柄 Set<String> handles = driver.getWindowHandles();//获取所有窗口句柄 Iterator<String> it = handles.iterato

Selenium2+python自动化29-js处理多窗口

前言 在打开页面上链接的时候,经常会弹出另外一个窗口(多窗口情况前面这篇有讲解:Selenium2+python自动化13-多窗口.句柄(handle)),这样在多个窗口之间来回切换比较复杂,那么有没有办法让新打开的链接在一个窗口打开呢? 要解决这个问题,得从html源码上找到原因,然后修改元素属性才能解决.很显然js在这方面是万能的,于是本篇得依靠万能的js大哥了. 一.多窗口情况 1.在打baidu的网站链接时,会重新打开一个窗口  (注意:我的百度页面是已登录状态,没登录时候是不会重新打开

我的第一个自动化脚本(python)----百度搜索

这是一个纯小白胡说八道的个人总结,如果有人看到什么不对的,欢迎批评指正 博客园开通了很久,一直不知道该怎么去写,总觉得自己要写的东西都是别人已经写过的,我再去写就是在重复之前人所说,今天去面试和面试姐姐聊到这个问题的时候,我才真正的意识到写博客的意义,其实博客只要是写出来对自己有帮助,管其他人怎么看呢,就算百度搜索出来好多一样的那又怎么样呢,博客是写给自己的,如果能因此帮助别人少走一些弯路又何乐而不为呢 接下来就来我实现这个自动化脚本经历的过程,首先要在火狐浏览器安装selenium IDE:其