Python爬虫之Selenium多窗口切换的实现


Posted in Python onDecember 04, 2020

前言:在页面操作过程中有时候点击某个链接会弹出新的窗口,但由于Selenium的所有操作都是在第一个打开的页面进行的,这时就需要主机切换到新打开的窗口上进行操作。WebDriver提供了switch_to.window()方法,可以实现在不同的窗口之间切换。 以百度首页和百度注册页为例,在两个窗口之间的切换。

本章中用到的关键方法如下:

  • current_window_handle:获得当前窗口句柄
  • window_handles:返回所有窗口的句柄到当前会话
  • switch_to.window():用于切换到相应的窗口

跳转至注册页面,然后获取所有页面的句柄,并打印各个页面的title

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

driver = webdriver.Chrome()
driver.get("http://www.baidu.com")

time.sleep(2) #睡两秒,看一下效果

driver.find_element_by_link_text('登录').click()

time.sleep(2) #睡两秒,看一下效果

driver.find_element_by_link_text("立即注册").click()

time.sleep(2) #睡两秒,看一下效果

# 获得当前窗口句柄
sreach_windows = driver.current_window_handle

# 获得当前所有打开的窗口的句柄
all_handles = driver.window_handles
for handle in all_handles:
 if handle != sreach_windows:
  driver.switch_to.window(handle)
  print(driver.title)
 else:
  print('当前页面title:%s'%driver.title)

driver.quit()

Selenium文集传送门:

标题 简介
Python爬虫 - Selenium(1)安装和简单使用 详细介绍Selenium的依赖环境在Windows和Centos7上的安装及简单使用
Python爬虫 - Selenium(2)元素定位和WebDriver常用方法 详细介绍定位元素的8种方式并配合点击和输入、提交、获取断言信息等方法的使用
Python爬虫 - Selenium(3)控制浏览器的常用方法 详细介绍自定义浏览器窗口大小或全屏、控制浏览器后退、前进、刷新浏览器等方法的使用
Python爬虫 - Selenium(4)配置启动项参数 详细介绍Selenium启动项参数的配置,其中包括无界面模式、浏览器窗口大小设置、浏览器User-Agent (请求头)等等
Python爬虫 - Selenium(5)鼠标事件 详细介绍鼠标右击、双击、拖动、鼠标悬停等方法的使用
Python爬虫 - Selenium(6)键盘事件 详细介绍键盘的操作,几乎包含所有常用按键以及组合键
Python爬虫 - Selenium(7)多窗口切换 详细介绍Selenium是如何实现在不同的窗口之间自由切换
Python爬虫 - Selenium(8)frame/iframe表单嵌套页面 详细介绍如何从当前定位的主体切换为frame/iframe表单的内嵌页面中
Python爬虫 - Selenium(9)警告框(弹窗)处理 详细介绍如何定位并处理多类警告弹窗
Python爬虫 - Selenium(10)下拉框处理 详细介绍如何灵活的定位并处理下拉框
Python爬虫 - Selenium(11)文件上传 详细介绍如何优雅的通过send_keys()指定文件进行上传
Python爬虫 - Selenium(12)获取登录Cookies,并添加Cookies自动登录 详细介绍如何获取Cookies和使用Cookies进行自动登录
Python爬虫 - Selenium(13)设置元素等待 详细介绍如何优雅的设置元素等待时间,防止程序运行过快而导致元素定位失败
Python爬虫 - Selenium(14)窗口截图 详细介绍如何使用窗口截图
Python爬虫 - Selenium(15)关闭浏览器 详细介绍两种关闭窗口的区别

到此这篇关于Python爬虫之Selenium多窗口切换的实现的文章就介绍到这了,更多相关Selenium多窗口切换内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
在Windows8上的搭建Python和Django环境
Jul 03 Python
Python面向对象编程中的类和对象学习教程
Mar 30 Python
Python字符串详细介绍
May 09 Python
基于wxpython开发的简单gui计算器实例
May 30 Python
详解在Python程序中解析并修改XML内容的方法
Nov 16 Python
浅谈Python生成器generator之next和send的运行流程(详解)
May 08 Python
python实现跨excel的工作表sheet之间的复制方法
May 03 Python
在python tkinter中Canvas实现进度条显示的方法
Jun 14 Python
PyQt5组件读取参数的实例
Jun 25 Python
Python处理时间日期坐标轴过程详解
Jun 25 Python
详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法
Jul 06 Python
深入理解Tensorflow中的masking和padding
Feb 24 Python
Python爬虫之Selenium实现键盘事件
Dec 04 #Python
python 爬虫请求模块requests详解
Dec 04 #Python
Python爬虫之Selenium鼠标事件的实现
Dec 04 #Python
Selenium 配置启动项参数的方法
Dec 04 #Python
Python爬虫逆向分析某云音乐加密参数的实例分析
Dec 04 #Python
浅谈Selenium 控制浏览器的常用方法
Dec 04 #Python
详解Selenium 元素定位和WebDriver常用方法
Dec 04 #Python
You might like
PHP支持多种格式图片上传(支持jpg、png、gif)
2011/11/03 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
2017/08/09 PHP
WEB 浏览器兼容 推荐收藏
2010/05/14 Javascript
IE 当eval遇上function的处理
2011/08/09 Javascript
jquery中使用ajax获取远程页面信息
2011/11/13 Javascript
jquery连缀语法如何实现
2012/11/29 Javascript
js实现数字每三位加逗号的方法
2015/02/05 Javascript
JavaScript使用yield模拟多线程的方法
2015/03/19 Javascript
jQuery实现可以控制图片旋转角度效果(附demo源码下载)
2016/01/27 Javascript
Javascript操作表单实例讲解(下)
2016/06/20 Javascript
Angular.js与node.js项目里用cookie校验账户登录详解
2017/02/22 Javascript
JS组件系列之MVVM组件 vue 30分钟搞定前端增删改查
2017/04/28 Javascript
D3.js进阶系列之CSV表格文件的读取详解
2017/06/06 Javascript
使用veloticy-ui生成文字动画效果
2018/02/08 Javascript
vue组件间的参数传递实例详解
2019/04/26 Javascript
Python time模块详解(常用函数实例讲解,非常好)
2014/04/24 Python
Python中endswith()函数的基本使用
2015/04/07 Python
python使用xpath中遇到:到底是什么?
2018/01/04 Python
Python matplotlib 画图窗口显示到gui或者控制台的实例
2018/05/24 Python
python3.6实现学生信息管理系统
2019/02/21 Python
使用Pandas对数据进行筛选和排序的实现
2019/07/29 Python
Python调用.NET库的方法步骤
2019/12/27 Python
Python中私有属性的定义方式
2020/03/05 Python
python录音并调用百度语音识别接口的示例
2020/12/01 Python
如何使用python-opencv批量生成带噪点噪线的数字验证码
2020/12/21 Python
HTML5 Canvas 实现圆形进度条并显示数字百分比效果示例
2017/08/18 HTML / CSS
世界上最大的高分辨率在线图片库:Alamy
2018/07/07 全球购物
集世界奢侈品和设计师品牌的意大利精品买手店:Tessabit
2019/08/17 全球购物
彪马法国官网:PUMA法国
2019/12/15 全球购物
个人自我鉴定总结
2014/03/25 职场文书
大学生就业意向书范文
2014/04/01 职场文书
超市商业计划书
2014/05/04 职场文书
奉献演讲稿范文
2014/05/21 职场文书
群众路线领导班子整改方案
2014/10/25 职场文书
2015年教师节活动总结
2015/03/20 职场文书
乔布斯辞职信(中英文对照)
2015/05/12 职场文书